我声明了一个整数 int i = 4945932;它的平方是一些负随机数。这怎么可能?我究竟做错了什么?请帮忙。提前致谢。
最佳答案
Integer overflow. Java int 不能大于 2,147,483,647;如果您尝试存储更大的数字,它就会溢出。
如果您使用 long
,它可以存储更大的值,包括您尝试存储的值。如果您需要更大的值,java.math.BigInteger
可以存储任意精度的整数;唯一的限制是您计算机的内存。
关于java - 为什么 $4945932$ 的平方结果是负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310919/