Java的无限定义



我尝试在Java中运行此代码

System.out.println(Math.pow(2,1024));
System.out.println(Math.pow(2,1023));

结果:

无穷大

8.98846567431158E307

我想知道 - 为什么2^1024是无限的?2^1023不是吗?我猜这与1024是2^10的事实有联系,但我真的没有得到它。另外,如果我尝试在124位而不是64位的计算机中运行答案,答案会更改吗?

有些困惑,会感谢任何帮助:)

这是因为计算超出了双重精度。您将在" 124"位机器中看到相同的结果。

最新更新