數值型資料的表示方法
1.1 進製計數制
數制的基與權
在任一數制中,每乙個數上允許使用的計數符號的個數被稱作該數制的基數。
每一位都對應乙個表示該位在數碼中的位置的值,這個值就被稱為數字的權值w。
常用的幾種進製
(1)2進製:0,1
(2)8進製:0,1,2,3,4,5,6,7
(3)17進製:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
進製之間的轉換
(1)整數10->2(除2取餘法)
(2)小數10->2(乘2取整法)
(3)整數2->10(按權相加)
(4)小數2->10(按權相加)
(5)16進製制2進製(逐位轉換/分組轉換)
1.2帶符號數的表示
「0」表示正號,「1」表示負號
二進位制的碼制:原碼、反碼、補碼、移碼
1.原碼
乙個二進位制數,用0或1表示符號,數值位不變,就得到與該二進位制數真值對應的原碼
字長為8位的原碼
表示範圍為:-127~127
[+127]原=01111111
[-127]原=11111111
數值「0」有兩種原碼形式:
[+0]原=00000000
[-0]原=10000000
2.反碼
正數情況下(x>=0)
x反=x原
負數情況下(x<0)
符號位保持為「1」,數值為分別「按位取反」
字長為8位的反碼
表示範圍為:-127~127
[+127]反=01111111
[-127]反=10000000
數值「0」有兩種反碼形式:
[+0]反=00000000
[-0]反=10000000
3.補碼
編碼定義:[x]補=x+2^n(模2^n),n為編碼位數
規則:(1)對於正數(x>=0)
[x]補=[x]原
(2)對於負數
字元位保持為「1」,其餘各位數值「按位取反,末尾加1」
[x]補=[x]反+1
字長為8位的補碼
表示範圍為:-128~127
[+127]補=01111111
[-128]補=10000000
補碼比原碼和反碼多表示1個負值,即-128
數值「0」有1種補碼形式:
[+0]補=[-0]補=00000000
4.移(增)碼
移碼通常用於表示浮點數的階碼。
階碼一般為整數,故移碼通常只用於表示整數
對定點整數x,它的移碼是:
[x]移=2^ (n-1) +x,其中-2^ (n-1)上述規則等價於將x正向平移或者增加2^ (n-1),因此稱之為移碼或增碼
移碼表示範圍和補碼一致,0也只有1個移碼。
正數:將原碼符號位變反,即得到移碼。
負數:將原碼連同符號為一起變反,末位加1,即得到移碼(與變補等效)。
補碼和移碼:符號相反、數值位相同。
引自中國大學慕課網
原碼 反碼 補碼和移碼
原碼 如果機器字長為n,那麼乙個數的原碼就是用乙個n位的二進位制數,其中最高位為符號位 正數為0,負數為1。剩下的n 1位表示概數的絕對值。例如 x 101011 x 原 00101011 x 101011 x 原 10101011 位數不夠的用0補全。ps 正數的原 反 補碼都一樣 0的原碼跟反碼...
原碼,反碼,補碼和移碼
注意 正數的原 反 補碼都一樣。0的原碼跟反碼都有兩個,因為這裡0被分為 0和 0。如果機器字長為n,那麼乙個數的原碼就是乙個n位的二進位制數有符號數,其中最高位為符號位 正數為0,負數為1。剩下的n 1位為數值位,表示真值的絕對值。凡不足n 1位的,小數在最低位右邊加零 整數則在最高位左邊加零來補...
原碼 反碼 補碼和移碼
各種數值在計算機中表示的形式為機器數,其特點是採用二進位制計數制,數的符號用0或1表示,小數點則隱含,表示不佔位置,這就是機器數的原碼。為了便於運算,帶符號的機器數可採用原碼 反碼 補碼和移碼等不同的編碼方法,機器數的這些編碼方法稱為碼制。在這種表示方法中,最高為是符號位,0表示正號,1表示負號。原...