byte的最小值为什么是-128

在计算机中,数值是以二进制补码形式存储的,java 也不例外。 8 位二进制补码的范围为 -128~127(-27 ~ 27 - 1);byte 的范围就是 8 位二进制补码的范围。 那么,问题来了。8 位二进制补码为什么能表示 -128 呢? 补码中第一位是符号位,只有剩下的七位是数值位,即 数值位全为 1 时,最大值为 -27 - 1 ,即 -127;如果再加 1 就会发生溢出变成 1000
相关文章
相关标签/搜索