JAVA|Byte 一个字节的数据大小范围为什么是-128~127

一个字节是8位,最高位是符号位,最高位为0则是正数。最高位为1则是负数
如果一个数是正数,最大数则为:01111111,转为十进制为127,
如果一个数是负数,按照一般人都会觉得是11111111,转为十进制为-127,
但是:一个+0表示为:00000000,一个-0表示为:1000000,因为符号位不算在里面,所以就会有两个0,所以从一开始发明二进制的时候,就把-0规定为-128,如此二进制的补码就刚好在计算机中运作中吻合。(这是国内教材中的解释)
【JAVA|Byte 一个字节的数据大小范围为什么是-128~127】公式:计算一个数据类型的数据大小范围:-2^(字节数*8-1)~2^(字节数*8-1)-1

    推荐阅读