为了账号安全,请及时绑定邮箱和手机立即绑定

关于循环的问题

关于循环的问题

陈药 2015-11-18 16:05:46
int x = 800000000; while (x>0) x++; System.out.println(x);为什么结果是-2147483648
查看完整描述

3 回答

已采纳
?
深白

TA贡献5条经验 获得超2个赞

加到int 表示的最大正整数后x依然大于0,继续执行x++,就溢出了,变成最小值了,看看补码的知识吧。

查看完整回答
反对 回复 2015-11-18
?
chasonZhang

TA贡献3条经验 获得超3个赞

int的最大值是2147483647 = 1111111  11111111  11111111 11111111

1111111  11111111  11111111 11111111+1=10000000  00000000  00000000 00000000=-2147483648

注:最左边的一位代表符号

查看完整回答
反对 回复 2015-11-18
  • 3 回答
  • 0 关注
  • 1302 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信