class TestByte
{
public static void main(String[] args)
{
byte a = (byte)130;
System.out.println(a);
}
}
//打印结果:-126
/*
java中的 byte 占一字节8位
int 占4字节32位
且第一位都为符号为,0表示正数,1表示负数
130 = (00000000 00000000 00000000 10000010)b
转换成byte类型,就只有后八位(10000010)b,
首位为1,表示负数,求该负数的绝对值,
10000010
-------------------
取反: 01111101
加1 : 1
-------------------
01111110b = 126
所以为 -126.
*/ |