Integer最大值问题
public class Main {
public static void main(String[] args) {
System.out.println((int)1E9);
System.out.println(1<<31);
System.out.println(Integer.toBinaryString(1<<31));
System.out.println((int)Math.pow(2,31));
System.out.println(Integer.toBinaryString((int)Math.pow(2,31)));
System.out.println((int)Math.pow(2,30)*2);
System.out.println(Integer.toBinaryString((int)Math.pow(2,30)*2));
System.out.println(0x3f3f3f3f);
System.out.println(Integer.MAX_VALUE);
}
}
输出结果
1000000000
-2147483648
10000000000000000000000000000000
2147483647
1111111111111111111111111111111
-2147483648
10000000000000000000000000000000
1061109567
2147483647