有符號(hào)二進(jìn)制轉(zhuǎn)十進(jìn)制
二進(jìn)制數(shù):11001111,無(wú)符號(hào)是十進(jìn)制:207,有符號(hào)是十進(jìn)制:-49(207-256),怎么理解這個(gè)“207-256”啊?
二進(jìn)制數(shù):11001111,無(wú)符號(hào)是十進(jìn)制:207,有符號(hào)是十進(jìn)制:-49(207-256),怎么理解這個(gè)“207-256”啊?
2017-12-01
舉報(bào)
2017-12-11
在本節(jié)中11001111是存放在字節(jié)byte中的,字節(jié)是8位,java中最高位表示符號(hào)位,所以byte的取值范圍是-2^7~2^7-1,即1000 0000~0111 1111,十進(jìn)制是-128~127.
11001111(看作無(wú)符號(hào)十進(jìn)制是207),這是補(bǔ)碼,原碼為00110001(看作無(wú)符號(hào)十進(jìn)制是49),
如果你把這個(gè)想象為無(wú)符號(hào)的(十進(jìn)制也要想象為無(wú)符號(hào),即-49為49),那相加為1 0000 0000即2^8=256,即所有的負(fù)值的byte的補(bǔ)碼和源碼想象為無(wú)符號(hào)的話之和為256