java Integer.MAX_VALUE+1


public final class Integer extends Number implements Comparable<Integer> {
    /**
     * A constant holding the minimum value an {@code int} can
     * have, -2<sup>31</sup>.
     */
    @Native public static final int   MIN_VALUE = 0x80000000;

    /**
     * A constant holding the maximum value an {@code int} can
     * have, 2<sup>31</sup>-1.
     */
    @Native public static final int   MAX_VALUE = 0x7fffffff;
....
}

源码可以看出  常量 MAX_VALUE 的值为0x7fffffff(十六进制)转换成二级制为 0 1111111111111111111111111111111(二进制)

 有符号整型的最高位是符号位 最高位 1表示负数 

        int maxValue =Integer.MAX_VALUE;
        int minValue =Integer.MIN_VALUE;
        System.out.println(maxValue);
     //  0 1111111111111111111111111111111+1 => 1 1111111111111111111111111111111(溢出)
    
int overFlow =maxValue+1; assert overFlow == minValue: "addtion overflow"; System.out.println(overFlow);      // 同理 assert minValue -1 ==maxValue ; System.out.println(minValue-1);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM