java - 哪个更准确? java.lang.Math.E 或 Math.exp(1.0)

标签 java math

阅读 Javadocs,我看到 Math.E 是“比任何其他值都更接近自然对数的底数的 double 值。”。 Math.E 的打印值为 2.718281828459045,而 Math.exp(1.0) 的值应该是相同的值:2.7182818284590455(最后多了一个 5)。

从文档中,听起来 Math.E 中的位已“手动调整”以更接近 e 的实际值,而不是 Math.exp(1.0) 产生的计算。这是正确的,还是我错误地阅读了文档?

如果这是正确的,那么使用 Math.pow(Math.E, n) 是否比 Math.exp(n) 更准确,还是更少?我已经用谷歌搜索并搜索了 SO,但在这个特定问题上找不到任何东西。

最佳答案

16位小数的实际值为2.7182818284590452; 2 比 5 更接近 0,因此常数更接近。

请注意,在使用任一数字进行浮点计算时,您的答案的浮点表示中的错误很可能会导致您主要使用哪个数字 无关紧要。

关于java - 哪个更准确? java.lang.Math.E 或 Math.exp(1.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12374763/

相关文章:

java - 如何获取 HBase 单元的时间戳版本

java - 如何在主模块[module-info.java]中添加库?

python - Sympysolvet() 在应该返回数值答案时返回 ConditionSet()

python - 为什么python没有内置函数mean()?

algorithm - 无意义 “Nearest Neighbor” 的数据集?

java - 如何从驱动器中选择输入

java - 如何使用 Selenium 设置私有(private)代理?

c++ - C++ 中的图像算术函数

Java - 任务和 future - 我需要捕获异常还是可以将它们留给应用程序线程?

c++ - 求解联立模方程的代码?