byte b = 130;
byte 的范围为-128到127,
而130不在此范围内,报错。
//
byte b = (byte)130;
System.out.println(b);
计算机中的数据的运算都是补码进行的。
首先转二进制
130
A:补(原、反)00000000 00000000 00000000 1000010
B:截取byte
操作补码
1000010
这个结果是补码
反:1 000010
- 1
1 000001
原 1 111110
-126