众所周知,java中byte的取值范围 -128~127,那么为什么呢?
java 中二进制是采用补码运算的 ,其中最高位 0代表正数 1代表负数。
正数的正码,反码,补码 相同,负数补码 = 反码 +1 。
举例:-10
正码:10001010
反码:11110101
补码:11110110
一字节byte占8bit位。
那么正数范围为 0 0000000~0 1111111,对应的int取值范围为0~127;
负数的范围1 0000000~1 1111111,反码:1 1111111~ 10000000 反码+1:110000000~10000001, 对应的取值范围为-128 ~-1;
所以byte取值范围为 -128~127
标签:java,补码,反码,byte,取值,范围 From: https://www.cnblogs.com/wlong-blog/p/18229429