定點小數

定點小數

定點小數是計算機處理的數值數據多數帶有小數,小數點在計算機中通常有兩種表示方法,一種是約定所有數值數據的小數點隱含在某一個固定位置上,稱為定點表示法,簡稱定點數

8位字長純小數,第一位為符號位,小數點在第一位後面,後七位為具體數值,如: -0.1001原碼錶示為1.1001,反碼為1.0110,補碼為1.0111 -1的補碼為1.0000000

基本介紹

  • 中文名:定點小數
  • 外文名:fixed-point
  • 簡稱定點數
  • 表示範圍:2^(-n)≤|x|≤1 -2^(-n)
基本簡介,表示方法,

基本簡介

1. 定點數表示法(fixed-point)
所謂定點格式,即約定機器中所有數據的小數點位置是固定不變的。在計算機中通常採用兩種簡單的約定:將小數點的位置固定在數據的最高位之前,或者是固定在最低位之後。一般常稱前者為定點小數,後者為定點整數。
定點小數是純小數,約定的小數點位置在符號位之後、有效數值部分最高位之前。若數據x的形式為x=x0.x1x2xn(其中x0符號位,x1~xn是數值的有效部分,也稱為尾數x1為最高有效位),則在計算機中的表示形式為:
一般說來,如果最末位xn= 1,前面各位都為0,則數的絕對值最小,即|x|min= 2^(-n)。如果各位均為1,則數的絕對值最大,即|x|max=1-2^(-n)。所以定點小數的表示範圍是:
2^(-n)≤|x|≤1 -2^(-n)

表示方法

由於“編碼總位數為8”的限制,真值-128無法用原碼、反碼來表示,似乎不能用上述規則來求解補碼,但實際上是可行的——只要不管它的最高位即可,操作辦法如下:
將128化為二進制為:1 0000000,最高位為1,可以只對捨去最高位後剩餘的7位進行處理即可,首先取反得:1111111,加1得:1 0000000,最高位有進位需丟棄,即得:0000000,加上符號位就得補碼:1 0000000。
又如,當編碼總位數為4時,真值X=+0.101的原碼、反碼、補碼均為:0 101。
真值X=-0.101的原碼、反碼、補碼依次為:1 101、1 010、1 011。
同理,特例,-1的補碼為:1 000。
在定點小數中,小數點隱含在第一位編碼和第二位編碼之間
定點小數,是指小數點準確固定在數據某個位置上的小數,從實用角度看,都把小數點固定在最高數據位的左邊,小數點前邊再設一位符號位。按此規則,任何一個小數都可以被寫成 :
N = NS . N-1 N-2 … N-M
如果在計算機中用m+1個二進制位表示上述小數,則可以用最高(最左)一個二進制位表示符號(如用0表示正號,則1就表示負號),而用後面的m個二進制位表示該小數的數值。小數點不用明確表示出來,因為它總是固定在符號位與最高數值位之間,已成定論。定點小數的取值範圍很小,對用m+1個二進制位的小數來說,其值的範圍為:
|N| ≤ 1-2^(-m)  即小於1的純小數,這對用戶算題是十分不方便的,因為在算題前,必須把要用的數,通過合適的 "比例因子"化成絕對值小於1的小數,並保證運算的中間和最終結果的絕對值也都小於1,在輸出真正結果時,還要把計算的結果按相應比例加以擴大。
定點小數表示法,主要用在早期的計算機中,它最節省硬體。隨著計算機硬體成本的大幅度降低,現代的通用計算機都被設計成能處理與計算多種類型數值的計算機。我們將主要通過定點小數討論數值數據的不同編碼方案,而且,定點小數也被用來表示浮點數的尾數部分。

相關詞條

熱門詞條

聯絡我們