計算機內部對二進制進行運算用的是補碼
原碼: +3 >>> 0000 0011 第一位是符號位,0代表正數,1代表負數
反碼:負數的反碼 保留符號位,其余按位取反
-3 >>> 1000 0011(原碼)>>> 1111 1100(反碼)
補碼:負數的補碼是反碼+1
-3 >>> 1000 0011(原碼)>>> 1111 1100(反碼) >>> 1111 1101(補碼)
正數的原碼,補碼和反碼都一樣。
負數的原碼和補碼之前的轉換:
法1:負數的原碼=負數的補碼-1 再取反
10001(原碼)>>> 11110(反碼) >>> 11111(補碼)-1 =
法2:負數的原碼=負數的補碼取反 再+1
11111(補碼) >>> 10000 +1 >>> 10001