整数的Java MAX和MIN值

时间:2014-03-15 11:42:48

标签: java integer

为什么是(Integer.MAX_VALUE-Integer.MIN_VALUE) = -1

如果你在计算器上执行它会变成一个更大的正数,但在java中它是-1

2 个答案:

答案 0 :(得分:3)

这是因为算术溢出:MIN_VALUE是一个很大的负数,所以从MAX_VALUE中减去它会产生数,超出{{{ 1}}。

如果您希望与计算器上的结果相匹配,请在扣除之前将int值转换为int

long

Demo on ideone.

答案 1 :(得分:3)

整数溢出。如果你超出了整数可以容纳的界限,那么它会绕着另一边循环。

例如,尝试Integer.MAX_VALUE + 1并查看它为您提供的内容。