各種資料在計算機中的表現形式稱為機器數,其特點是以二進位制的方式儲存,數的符號用0(正)和1(負)來表示,機器數對應的實際數值為數的真值。為了便於運算,機器數可採用原碼,反碼,補碼等不同的編碼方法。
假設機器字長為8,採用二進位制位的方式表示資料,最高位為符號位,0表示正,1表示負
1、原碼
原碼就是符號位加上真值的絕對值。
假設數值x的原碼記作[x]原,則:
[+1]原 = 0000 0001 [-1]原 = 1000 0001
[+127]原 = 0111 1111 [-127]原 = 1111 1111
[+10]原 = 0000 1010 [-10]原 = 1000 1010
0的原碼有2種表示方式,分別為:
[+0]原 = 0000 0000 [-0]原 = 1000 0000
2、反碼
正數的反碼就是原碼,負數的反碼就是其原碼按位取反(除符號位)。
假設數值x的反碼記作[x]反,則:
[+1]反 = 0000 0001 [-1]反 = 1111 1110
[+127]反 = 0111 1111 [-127]反 = 1000 0000
[+10]反 = 0000 1010 [-10]反 = 1111 0101
0的反碼有2種表示方式,分別為:
[+0]反 = 0000 0000 [-0]反 = 1111 1111
3、補碼
正數的補碼就是原碼,負數的補碼是其反碼+1
假設數值x的補碼記作[x]補,則:
[+1]補 = 0000 0001 [-1]補 = 1111 1111
[+127]補 = 0111 1111 [-127]補 = 1000 0001
[+10]補 = 0000 1010 [-10]補 = 1111 0110
0的補碼有1種表示方式,為:
[+0]補 = [-0]補 = 0000 0000
總結:1、正數的原碼,反碼和補碼相同
2、負數的反碼是其原碼按位取反(除符號位),負數的補碼是其反碼+1
3、0的表示方式比較特殊
0的原碼有2種表示方式,分別為:[+0]原 = 0000 0000 [-0]原 = 1000 0000
0的反碼有2種表示方式,分別為:[+0]反 = 0000 0000 [-0]反 = 1111 1111
0的補碼有1種表示方式,為: [+0]補 = [-0]補 = 0000 0000
原碼 反碼 補碼
正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...
原碼 反碼 補碼
正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...
原碼 反碼 補碼
數值在計算機中表示形式為機器數 計算機只能識別0和1,使用的是二進位制,而在日常生活中人們使用的 是十進位制,正如亞里斯多德早就指出的那樣,今天十進位制的廣泛採用,只不過我們絕大多數人生來具有10個手 指頭這個解剖學事實的結果.儘管在歷史上手指計數 5,10進製 的實踐要比二或三進製計數出現的晚.摘...