Java Byte 的取值范圍大家都知道(-128 ~ 127),那么-128 和 127 這兩個數是怎么計算的呢?
#大學知識回顧:
概念:負數的補碼是該 數 絕 對 值 的 原 碼 按 位 取 反 ,然 后 對 整個數 加 1
在計算機內,定點數有3種表示法:原碼、反碼和補碼
[原碼]就是前面所介紹的二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負,其余位表示數值的大小。
[反碼]表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
[補碼]表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
Java使 用 補 碼 來 表 示 二 進 制 數 ,在 補 碼 表 示 中 ,最 高 位 為符號 位 ,正 數 的 符 號 位 為 0,負 數 為 1。
現在進行java Byte 取值范圍分析:
1、確定byte是1個字節,也就是8位
2、對於計算機來說,二進制最大的正數是01111111 轉換成十進制為:127
3、最小的負數: 10000000,即-128
二進制負數的值:取反加一,所以 10000000 的值為:
1. 取反 -> 01111111 127
2. 加一 -> 128
3. 加上符號: -128
