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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public static void main(String[] args)
        {
                int x;
                int x1=Integer.MAX_VALUE;
                int x2=2;
                x=x1+x2;
                System.out.println(x);
        结果:-2147183647


评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

3 个回复

倒序浏览
Integer.max_value = 01111111 111111111111111111111111 +1 = 10000000 00000000 00000000 00000000
最高位是符号位为1,这个数是负数,负数的源码是补码取反+1,刚好等于Integer.min_value   搜索 结果当然是负数了,Integer的最小值

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
这么高深的题都能答出来!~~
回复 使用道具 举报
我打印了x1和x2,值分别是2147183647和-2147183647,MAZ_VALUE是正数啊,还是没明白
int x1=Integer.MAX_VALUE;
int x2=Integer.MIN_VALUE;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马