A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

特立独行

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 特立独行 中级黑马   /  2015-10-23 18:17  /  937 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问下各位高手图片上的这段程序中,这段在int类型中是怎么计算得到-2147483647这个结果的?在其他类型中和int类型是一样的吗?
  • int x;
  •         int x1 = Integer.MAX_VALUE;
  •         int x2 = 2;
  •         x = x1 + x2;


01.jpg (110.08 KB, 下载次数: 80)

01.jpg

4 个回复

倒序浏览

回帖奖励 +1

顶一下~~~~
回复 使用道具 举报
了解一下反码补码就懂了。实在不会 用计算器帮你验证一下,多试几次就知道了。

点评

好的,多谢建议  发表于 2015-10-24 10:15
回复 使用道具 举报
计算机内是以补码的形式存储的,第一位是符号位,int型最大值加2后,等于1000...001,(中间N个0就省略了),这是补码的形式,其真值就是-2147483647
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马