- Java code
for(int i=2147483646;i<2147483647;i++){ System.out.println(Integer.toString(i)+":"+Integer.toBinaryString(i)); } int n=2147483647; System.out.println(Integer.toString(n)+":last"+Integer.toBinaryString(n)); //爲什麽最大數在for循環裏面就死循環,放到循環外面就正常輸出,沒想明白求高人解答
------解决方案--------------------
你这个不会死循环,改成i<=2147483647才会死循环,因为int溢出问题
int i = Integer.MAX_VALUE;//2147483647
i ++;此时i等于-2147483648,即Integer.MIN_VALUE
负数当然小于正数,于是就死循环了