class Test
{
public static void main(String[] args)
{
byte b=120;
b+=10;
System.out.println(">>>>>>"+b);
}
}
结果是多少??
数字在内存中补码存储的,
正数的原码反码补码都一样,负数的就不是这样了,
Byte类型的占八位,最高位是符号位,
(120)补码:0111 1000
(127)补码:0111 1111 ,这是Byte类型所能表示的正数
120+10 = 127+3 (计算机只是机械的累加,不管溢出与否)
-------127+1 内存中:1000 0000
-------(127+1)+ 2 内存中:1000 0010
1000 0010 ,在计算机看来,这是一个负数,想知道具体多少,对其取反加1,可以得到它的绝对值,0111 1101 是126 ,所以表示的负数就是 -126