數表示法

數表示法

數表示法依據不同的角度可以分為不同的類型。從數的是否帶符號,可分為帶符號數和無符號數;從數的符號的表示方法,可分為真值和機器數;從數制角度,可分為二進制數、十進制數、八進制數和十六進制數等;從計算機編碼角度,數的表示法有原碼、反碼和補碼;對於小數點的表示,可以分為定點表示法和浮點表示法。

定義

用一位二進制位表示數的符號:0表示正數,1表示負數,這種表示數的方法,稱為帶符號數的表示方法。所表示的數,叫做帶符號的數。帶符號的數其最高位為符號位。

如果將全部有效位都用來表示數的大小,這種數的表示方法,叫無符號數的表示方法,所表示的數,叫無符號數。

真值與機器數

真值就是利用"+"、"-"表示數的符號,數值部分為數的絕對值。例如:N1=+1101001B= +105;N2=-1101001B=-105。數的真值可以使用二進制形式、八進制形式、十進制形式或十六進制形式表示。

機器數就是在機器中用最高位表示數的符號,其它位表示數值的大小。這時最高位叫做符號位,規定用“0"表示正,“1’’表示負。這樣對於n位二進制數,如果它是一個帶符號的數,則最高位Bn-1就表示數的符號,剩下的n-1位表示數的大小。簡單的說,機器數就是數據在機器中的二進制表示形式,機器數所表示的值稱為該機器數的“真值”。

例如:一個帶符號的數11101001B,最高位"1"為符號位,代表“-”其它位為數的值,它的真值為:-1101001B(-105)。

X進制數

數表示法 數表示法

對於任意一個數(十進制數)都可以表示成按權(n為整數)展開的多項式,這裡X稱為基數。對於不同的X,形成相應的X進制數。X進制數隻包含數字元號0,1,...,X-1,並且在運算過程中“逢X進一,借一當X”。常用的X進制數有二進制數、八進制數、十進制數和十六進制數。其中,十六進制包含數字元號0,1,...,9,A,B,C,D,E,F。

例如,對於數210分別用二進制、八進制、十進制、十六進制表示如下:

數表示法 數表示法

二進制:210==11010010(B);

數表示法 數表示法

八進制:210==322(O)

數表示法 數表示法

十進制:210==210(D)

數表示法 數表示法

十六進制:210==D2(H)

機器數表示法

機器數在計算機中的表示方法有三種,即原碼、反碼和補碼,最常用的是原碼和補碼兩種,原碼錶示法比較直觀,補碼運算則比較簡單。

原碼

原碼錶示法是一種直觀的機器數表示法,用最高位表示符號,符號位為0表示該數為正,符號位為1表示該數為負,有效數值部分用二進制絕對值表示。如真值為+0.1010和-1100其原碼為0.1010和11100。用原碼作乘除法時,可取其絕對值(尾數)直接運算,再按同號相乘除為正,異號相乘除結果為負的原則單獨處理符號,但對常用的加減法運算,卻極不方便,由此引進補碼的概念。

補碼

補碼是讓數的符號位也作為數的一部分參與運算,使實際操作僅與指令規定的操作性質有關,而與數的符號無關。即確定一個數作模以後,將某數X對模M的補數稱為X的補碼,表示為[X]補=M+X (Mod M),正數的補碼與原碼一樣,但是捨去了模。如x=0.101,[x]補=0.101 (mod 2),對於負數,補碼的尾數與原碼不同,其符號位在形式上與原碼相同,也用1表示負數,但這個1是通過模獲得的,也是數值的一部分,可與尾數一起參與運算,如x=-0.101,則[x]補=2+(-0.101)=1.011 (mod 2)。

對補碼的求值,一般是通過原碼轉化而來。對正數,[x]原=[x]補;對負數,符號位保持不變,尾數各位變反,然後末位加1,即“變反加1”。如:[x]原=1.1010,則[x]補=1.0110。

反碼

反碼錶示法僅對尾數逐位取反而不在末位加1,它可以達到化減為加的目的。正數反碼與原碼、補碼相同,負數反碼的符號位為1,其尾數可由其絕對質逐位反而得,符號位也參與計算。具體表示為:x=0.101,x反=0.101;x=-0.101,x反=1.010。

小數表示方法

計算機中,小數點的表示有兩種方法,即定點和浮點表示法。

數表示法 數表示法

對於數,其中,N代表數字,S代表尾數,R代表基數,e代表階碼,即小數點的實際位置。

定點表示法

定點表示法中,e的取值固定不變。定點表示法中有下述兩種方法:

(1) 純小數表示法:數符·尾數;

(2) 整數表示法:數符 尾數。

定點表示法具有如下缺點:

(1) 表示的數據範圍小;

(2) 使用不方便,運算精度低,浪費存儲單元。

數表示法 數表示法

定點數的解析度為:在字長為n+1的計算機中。純小數的解析度為,純整數的解析度為1。

浮點表示法

數表示法 數表示法
數表示法 數表示法
數表示法 數表示法
數表示法 數表示法

浮點表示法中,小數點的位置是不定的,可以浮動。一個二進制數可表示為:N=·S,其中S為數N的尾數,表示數N的有效值,用S表示尾數的符號,S=0為正數,S=1為負數;e為數N的階碼,表示小數點的位置,用表示階碼的符號,=0為正數,=1為負數。

數表示法 數表示法

具體用二進制數表示為:。

浮點數數據範圍:

(1) 最大正數和最小正數的區間,稱為正數區;

(2)最小負數和最大負數的區間,稱為負數區;

(3)最大負數和最小正數之間的區域,由於絕對值小於可表示的值。所以稱為下溢區,一般用0表示。稱為機器零。

(4)處於最大正數和最小負數之外的區間,稱為上溢區。最大正數以外稱為正溢區,最小負數以外稱為負溢區。

相關詞條

熱門詞條

聯絡我們