java - 为什么 $4945932$ 的平方结果是负数?

标签 java sqr

我声明了一个整数 int i = 4945932;它的平方是一些负随机数。这怎么可能?我究竟做错了什么?请帮忙。提前致谢。

最佳答案

Integer overflow. Java int 不能大于 2,147,483,647;如果您尝试存储更大的数字,它就会溢出。

如果您使用 long,它可以存储更大的值,包括您尝试存储的值。如果您需要更大的值,java.math.BigInteger可以存储任意精度的整数;唯一的限制是您计算机的内存。

关于java - 为什么 $4945932$ 的平方结果是负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310919/

相关文章:

java - GameManager 类型类的单一职责原则

java - 有没有一种方法可以使用 -cp 或 -jar 作为一个命令来运行多个 jar 文件?

linux - SQR:加载共享库时出错:libpdf.so

oracle11g - 在 SELECT 中返回类似 TABLE 的结构

error-handling - (SQR 4008)表达式中的未知函数或变量

java - 如何实现谷歌OAuth?

java - Spring AOP 上下文选择切入点到底是如何工作的?

java - 从本地路径加载 Midi?

sql - 转换 SQR 中的日期格式