【发布时间】:2019-04-08 04:05:14
【问题描述】:
https://www.ideone.com/gYreaO ,为什么会发生这种情况?为什么要采用二进制补码的方式来显示值?
byte a=123;
byte b=5;
byte c=(byte)(a+b);
System.out.println(c);
【问题讨论】:
-
byte的最大值是 127,所以如果加一个,它会从频谱的另一侧开始,也就是byte的最小值,即 -128。跨度> -
因为
byte的有效范围是-128到127。不是128。System.out.println((byte) 128); -
当你看到答案时,想想投票/接受一个;)
标签: java binary decimal twos-complement