java 二進位制原碼,反碼,補碼

2021-08-21 16:05:26 字數 830 閱讀 3525

強制型別轉換,用到原反補碼

就是二進位制定點表示法,即最高位為符號位,「0」表示正,「1」表示負,其餘位表示數值的大小。

通過乙個位元組,也就是8個二進位制位表示+7和-7

0(符號位) 0000111

1(符號位) 0000111

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

正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1

一、原碼,最高位為符號位,「0」表示正,「1」表示負,其餘位表示數值的大小

左邊是最高位,右邊是最低位

+7:0 0000111 (1*2^2 + 1*2^1 + 1*2^0 = 4 + 2 + 1)

-7 1 0000111

8個1:11111111(先不分正負數) = 255

7個1:1111111(先不分正負數) = 127

二、反碼

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

+7:0 0000111(原碼)

+7:0 0000111(反碼)

-7:1 0000111(原碼)

-7:1 1111000(反碼)

三、補碼

正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1

+7:0 0000111(原碼)

+7:0 0000111(反碼)

+7:0 0000111(補碼)

-7:1 0000111(原碼)

-7:1 1111000(反碼) + 1

-7:1 1111001(補碼)

總結:正數的原碼反碼補碼是一樣,

二進位制原碼 反碼 補碼詳解

原碼 原碼是指將最高位作為符號位 0表示正,1表示負 其它數字位代表數值本身的絕對值的數字表示方式。例如 數字6 在計算機中原碼表示為 0 000 0110 其中,第乙個數字0是符號位,0表示正數,0 000110是數字6的二進位制資料表示。數字 6 在計算機中原碼表示為 1 000 0110 以上...

二進位制 真值 原碼 反碼 補碼

機器數 乙個數在計算機中二進位制的表示形式叫機器數,機器數是帶符號的 計算機使用最高位來表示符號位 負數為1 正數為0.假如計算機的字長為8位 那麼對於十進位制3的機器數表示為0000 0011 而對於 3的機器數表示為1000 0011。真值 由於機器數是帶符號的所以機器數的形式值就不等於實際的值...

二進位制的原碼 反碼 補碼

如何表示二進位制數的正負呢 通常採用的方法是在二進位制數的前面加一位符號位,符號位為0表示這個數是正數,符號位位1表示這個數字負數,這種形式的數就稱為原碼。為什麼需要二進位制補碼 在做減法時,如果兩個數時用原碼表示的,則首先需要比較兩數絕對值的大小,然後以絕對值大的乙個數作為被減數 絕對值小的乙個作...