我已经看到 Log10(x)
和 Log(x)/Log(10)
在不同的程序中用于计算以 10 为底的对数。他们的实现中有什么使得取两个自然对数比取一个以 10 为底的对数更有效或等效吗?如果在编译时已知所需的基数,第二个似乎很浪费。
最佳答案
您应该只使用 log10
,它实际上最终会调用一个本地函数(即它不是用 Java 实现的——参见 StrictMath.log10
)。 log(x)/log(10)
可能被不了解 log10
的人使用。您几乎肯定不会注意到这两种变体之间的性能差异。
log10(x)
清楚地传达了您的意图,而对于 log(x)/log(10)
,您是否真的想要一个基数并不那么清楚-10 的对数。
关于java - 在 Java 中,Log 和 Log10 之间有性能差异吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31191023/