public class Ccc{
public static void main(String[] args){
byte b = 126 ;
++b;
System.out.println((++b));
}
}
为什么最后输出-128 不是127 有没有大神帮我解释下 刚开始学习
你删除一个 ++ 就好了,你执行了两次 ++ 所以就变成了 -128
所以,当127+1=128时,超出了存储范围,就变为了-128了
你要看清楚是什么数据类型哦。这个是byte类型,存储的范围是-128~127.
关于存储范围的计算:因为byte是一个字节的,一个字节占8位。计算机系统通过二进制的方式存储数据。所以转为十进制的范围就是
-2^7~2^7-1
如有帮助,望采纳哦。
想了解更多。可以私信我,私下交流。
字节的存储范围是-128~127,而你加了2次 最高位为1就变成-1了。
已解决,望采纳。
因为byte的范围是-128~127
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632