二進位制 原碼,補碼,反碼簡單總結

2021-08-27 04:54:09 字數 514 閱讀 8759

二進位制表示分為兩種:有符號數和無符號數

原碼,反碼,補碼是對有符號數來說的(最高位是符號位,0表示正數,1表示負數),而且得確定是用幾位二進位制下的原碼,反碼,補碼。(以下說明中的例子都是4位二進位制下)

對正數而言:原碼,反碼,補碼都是一樣的,十進位制的3原碼反碼補碼都是 0011。

對負數而言:原碼是其本身,比如 -3 的原碼是1011;

反碼是原碼符號位不變,其餘各位取反(即1變0,0變1),比如 -3 的反碼是 1100;

補碼是反碼末位加1, 比如 -3 的補碼是 1101;

說明:事先說清楚多少位二進位制是必要的。比如4位二進位制的 -3 是1011,八位二進位制的 -3 是10000011,是不一樣的。其餘的反碼補碼情況是一樣的。

理解: 補碼是因為計算機中沒有減法,減法是按照加法來做的。7-3是按照7+(-3)做的。深究可見其他大神的部落格,此篇只做簡單說明。

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

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

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

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

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

強制型別轉換,用到原反補碼 就是二進位制定點表示法,即最高位為符號位,0 表示正,1 表示負,其餘位表示數值的大小。通過乙個位元組,也就是8個二進位制位表示 7和 7 0 符號位 0000111 1 符號位 0000111 正數的反碼與其原碼相同 負數的反碼是對其原碼逐位取反,但符號位除外。正數的補...