分數的表示
在計算機內部,表示分數的需求非常常見。例如,可能需要在計算機內部表示+0.610或-0.610這樣的值。為了表示帶符號分數,必須假設二進位制點位於位序列的MSB之後。這種二進位制點位於位序列固定位置的數字稱為定點數字。
無符號分數的二進位制點假定在最左邊。SM、1的補碼和2的補碼分數的虛構二進位制點位於MS位的右邊。
如果虛點在最右邊,則該數為整數。如果無符號數的虛構二進位制點在最左邊,則該數為無符號分數。如果二進位制點位於MS位的右邊,則該數為帶符號分數。如果二進位制點位於位序列的中間,則該數具有整數部分和小數部分。
讓我們討論一下2的補碼分數。例如,如果將1 001解釋為2的補碼分數,其值如下:假設二進位制點在MS位之後,它是1.001。由於MS位為1,它是一個負數。然後剩餘的位不直接指定大小。1 001的2的補碼是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)。下表顯示了字長和可以表示的最小幅度分數。
| 字長 | 最小幅度2的補碼分數 |
|---|---|
| 4 | ±0.125 |
| 8 | ±0.0078125 |
| 16 | ±0.0000305 |
| 32 | ±0.5 × 10-9 |
要相對準確地表示數字-0.0123,最小字長必須為8位。如果進一步增加字長,精度將得到很大提高。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP