定點小數補碼表示方法


補碼(Two's complement)、反碼(Ones' Complement)、原碼(Sign Magnitude):
    注意,補碼和反碼中,撇號的位置不同。
    術語補碼來源於這樣一個情況,對於非負數x,我們用2ⁿ - x(這里只有一個2)來計算-x的n位表示;
    術語反碼來源於這樣一個屬性,我們用[111...1] - x(這里有很多個1)來計算-x的反碼表示。
    原碼、反碼、補碼規則編碼的二進制形式的有符號數和其實際值的轉換公式:
    假設有一個有符號的二進制的數據: ,則其所表示的實際值為:
    原碼:  
    反碼:
    補碼:
定點小數
    定點小數即純小數,小數點的位置固定在最高有效數位之前、符號位之后,如圖1所示。定點小數的小數點位置是隱含約定的,小數點並不需要真正地占據一個bit。

圖1 定點小數格式
    當 Xs = 0 時,該小數為正值,其原碼和補碼表示的形式相同。
    其中,
    ⑴ 絕對值最大的正小數為:
 
    其實際值等於(通過移項及合並同類項,可知該等式成立):
 
    ⑵ 絕對值最小的正小數為:
 
    其實際值等於:
 
    以8bit數為例,最大正小數為 0.111 1111 = 1 - 2⁻⁷;最小正小數為 0.000 0001 = 2⁻⁷
    當 Xs = 1 時,該小數為負值,有原碼和補碼兩種表示形式(以下形式包含Xs位)。
    ⑴ 絕對值最大的負小數
        ① 原碼表示
 
         ② 補碼表示
 
    ⑵ 絕對值最小的負小數
        ① 原碼表示
 
         ② 補碼表示
 
    可見,定點負小數的原碼表示范圍為: -(1 - 2⁻ⁿ) ~ -2⁻ⁿ;其補碼表示范圍為:-1 ~ -2⁻ⁿ。且n值越大,精度越高。
 
//參考
原文鏈接:https://blog.csdn.net/AaricYang/article/details/87882868


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM