負數的原碼和反碼,補碼
阿新 • • 發佈:2018-08-02
轉換 例如 整型 強制轉換 浮點 === 類型強制轉換 大數據 nbsp 後面的7位,第1位是符號位始終不會變,所以,當進到第8位的時候,溢出了,會被舍棄)
正數的原碼,補碼,反碼 相同, 正數用原碼表示,負數用補碼表示,負數用如果也用原碼表示,表示範圍就只有255個數 -128無法表示.
數據的取值範圍
byte類型的取值範圍:有符號的[-128,127] 無符號的[0,255]
對於有符號的數據類型來說:最高位為符號位 0 為正數,1為負數
例如:5 表示為 0000 0101
-5表示為( 原碼):1000 0101 ===> 反碼 :1111 1010 ===> 補碼:1111 1011
-128 的原碼,反碼,補碼:
-128 補碼1000 0000 (1111 1111(反碼) + 1 = 1000 0000,這裏實際上真正相加的是1111 1111
數據類型強制轉換
int a = 256 ; //1 0000 0000
byte b = a ; //去高位 得到 0000 0000
//b=0
// a=255時 1111 1111 對於byte來說是負數這是一個負數的補碼 ===> 原碼 : 1000 0001 b= -1
在java中大數據強轉位小範圍數據類型:去高位
浮點型轉為整型:去小數位,再去高位
負數的原碼和反碼,補碼