Java数量限制:-1500000000 - 1500000000 = 1294967296

时间:2015-09-08 03:23:31

标签: java math

您好我正在尝试用Java语言编写标题中的数学: Math.max(-1500000000 - 1500000000,0) 在数学上,上面的等式应该返回0,但我得到了1294967296。

任何人都可以解释它背后的理论以及如何克服这种限制吗?

感谢。

1 个答案:

答案 0 :(得分:1)

理论上你在int中溢出了32位。修复方法是使用long文字。

Math.max(-1500000000L - 1500000000L, 0)