JAVA中关于byte = 128数据溢出变为-128的问题

基本常识:1.在计算机中整数以二进制的补码形式存储

2.将普通数字转换为2进制 ,称为原码;

3.一个字节的最高位为符号位,正数为0,负数为1

3.正数的原码,反码,补码相同

4.负数的反码为 符号位不变,其它位置取反

5.负数的补码等于反码加1

1个字节中的取值范围为 -128到127 即:1000 0000  到0111 111 

当数字取128的时候0111 111 加1 变为 1000 0000 因为byte类型只有一个字节,,精度损失,只显示1000 0000 部分,所以为-128

你可能感兴趣的:(JAVA中关于byte = 128数据溢出变为-128的问题)