原碼:原碼是一種計算機中對數字的二進制定點表示方法,最高位爲符號位,0爲正,1爲負。
正數的反碼、補碼等於其原碼本身。
負數的反碼:負數的反碼爲其原碼取反(符號位不變)
負數的補碼:負數的補碼爲其反碼+1(即負數補碼=原碼取反+1(符號位不變))
負數的補碼的補碼等於其原碼(類似於負負得正)
計算機在存儲某個數據時,是存儲數據的補碼。下面解釋下爲什麼 byte b = (byte) 130會等於-126
byte b = (byte)130 //b=-126
(1)130 爲int類型正整數,其原碼(補碼)爲 00000000 00000000 00000000 10000010
(2) 將其轉爲byte類型,8位,所以只截取其原碼(補碼)的後8位,爲 10000010
(3)最高位爲1,可以看出其截取後的二進制表示負數補碼,求其原碼爲 11111110 其對應的十進制爲 -126