我编写了以下示例代码:
public static void main(String[] args) throws Exception
{
byte number_1 = 127;
byte number_2 = (byte) 128;
System.out.println("number_1 = " + number_1);
System.out.println("number_2 = " + number_2);
}
我在输出中得到以下结果:
number_1 = 127
number_2 = -128
我知道byte
数据类型的范围(-128
到127
)。我的样本是否正确?发生了什么?有二进制补码运算吗?我不明白这种行为。