原碼,反碼、補碼原理及byte b = (byte) 130等於-126過程詳解

原碼:原碼是一種計算機中對數字的二進制定點表示方法,最高位爲符號位,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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章