補碼分數


例如,如果將 1 001 解釋為補碼分數,其值如下:- 假設最高有效位之後是二進位制點,則為 1.001。由於最高有效位為 1,所以它是一個負數。然後,其餘位不直接指定大小。1 001 的補碼為 0110 + 1 = 0 111。這是一個正分數,其值為 1 × 2−1 + 1 × 2−2 + 1 × 2−3 = 0.5 + 0.25 + 0.125 = 0.875 十進位制。因此,-0.875 是 1001 的值。

如果字長為 n 位,則可以表示的最小幅度非零分數為 2(n-1)。下表顯示了字長和可以表示的最小幅度分數。

字長
最小幅度補碼分數
       4
±0.125
       8
±0.0078125
       16
±0.0000305
       32
±0.5 × 10−9

要以某種精度表示數字 -0.0123,最小字長必須為 8 位。如果進一步增加字長,精度將得到極大提高。

為了對分數的表示進行通用討論,我們可以提到,在計算機內部表示分數可能非常必要。例如,可能需要在計算機內部表示 +0.610 或 -0.610 之類的值。為了表示帶符號的分數,必須假設二進位制點位於位序列中的 MSB 之後。這些二進位制點假設在位序列中處於固定位置的數字稱為定點數字。

無符號分數將假設二進位制點位於最左邊。SM、1 的補碼和 2 的補碼分數將使這個虛構的二進位制點位於 MS 位的右邊。

如果虛點位於最右邊,則該數字為整數。如果無符號數字的虛構二進位制點位於最左邊,則該數字為無符號分數。如果二進位制點位於 MS 位的右側,則該數字為帶符號分數。如果二進位制點位於位序列的中間,則該數字具有整數部分和小數部分。

更新於:2020 年 6 月 27 日

5K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.