byte取值范圍


Java中,byte在內存中占一個字節,取值范圍為何是-128~127?(-2^7~2^7-1)

計算機是用二進制來表示數據的,一個字節也就是8個比特位,其中最高位表示符號位(0正1負)

故byte的取值范圍為1000 0000 到 0111 1111

在Java中,是采用補碼來表示數據的

正數的補碼和原碼相同,負數的補碼是在原碼的基礎上各位取反然后加1

1000 000是補碼,減一然后按位取反得到其原碼1000 0000

(減一得 0111 1111,再按位取反得 1000 0000)

因為是負數,所以最小的byte值為-2^7=-128

0111 1111的十進制為2^7-1=127(等比序列求和)

byte是一個字節,共有2^8=256種可能性,也就是-128~127

 

其他基本數據類型同理

char沒有負值,占兩個字節,所以取值范圍是0~2^16-1(65535)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM