原碼 反碼 補碼

2022-04-30 15:36:13 字數 574 閱讀 3551

什麼原碼、反碼、補碼?

首先要知道的是,它們都是有符號的資料表示法。

在計算機中,儲存系統都是用2進製儲存的,對我們輸入的每乙個資訊計算機都會自動轉變成二進位制的形式,而二進位制在儲存的時候就會使用到原碼,反碼和補碼。

原碼,在數值前直接加入一符號位。

例如:正7用二進位制表示為:0 0000111 b

負7用二進位制表示為:1 0000111 b

但要注意的是:在byte中,取值只可在-128~127間。

反碼,規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

正7反碼= 0 0000111 b

負7反碼= 1 1111000  b

要注意的是:0的表示為0 0000000,-128的表示為1 0000000,即+127+1=-128,也就是說,byte值溢位了。

因此,有了補碼。

補碼,正數的補碼和原碼相同;負數的補碼則是符號位為「1」。並且,這個「1」既是符號位,也是數值位。數值部分按位取反後再在末位(最低位)加1。也就是「反碼+1」。

總結可以得到,正數的原碼、反碼、補碼表示方法均相同,需要考慮的也就只有負數了。

原碼 反碼 補碼

正數 原碼 反碼 補碼一樣 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進製 的實踐要比二或三進製計數出現的晚.摘...