補碼分數
例如,如果將 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 位的右側,則該數字為帶符號分數。如果二進位制點位於位序列的中間,則該數字具有整數部分和小數部分。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP