【发布时间】:2015-03-05 06:03:45
【问题描述】:
Integer num = 2147483647;
Integer res = num * num;
System.out.println(res);
上面的输出是 1。我不知道为什么。谁能解释一下。
提前致谢。
【问题讨论】:
-
溢出........
-
整数的有限范围为 2^32-1... 大约 20 亿
-
2^32-1 用于无符号整数,(2^32-1)/2 用于有符号整数
-
让我重新表述我的问题。我知道它超出了整数的范围。但是为什么结果是一个。什么逻辑?我查看了 Integer.java 类,但没有发现任何有用的东西。
标签: java