byte的范圍是-128~127。
字節(jié)長度為8位,最左邊的是符號位,而127的二進(jìn)制為01111111,所以執(zhí)行+1操作時,01111111變?yōu)?0000000。
大家知道,計算機(jī)中存儲負(fù)數(shù),存的是補(bǔ)碼的興衰。左邊位為符號位。
那么負(fù)數(shù)的補(bǔ)碼轉(zhuǎn)換成十進(jìn)制如下:一個數(shù)如果為正,則它的原碼、反碼、補(bǔ)碼相同;一個正數(shù)的補(bǔ)碼,將其轉(zhuǎn)化為十進(jìn)制,可以直接轉(zhuǎn)換。
已知一個負(fù)數(shù)的補(bǔ)碼,將其轉(zhuǎn)換為十進(jìn)制數(shù),步驟如下:
1. 先對各位取反;
2. 將其轉(zhuǎn)換為十進(jìn)制數(shù);
3. 加上負(fù)號,再減去1;
4. 例如10000000,最高位是1,是負(fù)數(shù),①對各位取反得01111111,轉(zhuǎn)換為十進(jìn)制就是127,加上負(fù)號得-127,再減去1得-128;