原碼 反碼 補碼

2021-08-10 20:56:36 字數 1320 閱讀 2661

各種資料在計算機中的表現形式稱為機器數,其特點是以二進位制的方式儲存,數的符號用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進製 的實踐要比二或三進製計數出現的晚.摘...