我见过Log10(x)
和Log(x)/Log(10)
在不同的程序中计算基数为10的对数。它们的实现是否使取两个自然对数比取一个基数为10的对数更具有或相当的性能?第二种方法看起来很浪费,只要在编译时就知道了所需的基础。
发布于 2015-07-02 09:37:09
您应该只使用log10
,它实际上最终调用了一个本机函数(即它不是在Java中实现的--参见StrictMath.log10
)。log(x)/log(10)
很可能被那些不知道log10
的人使用。您几乎肯定不会注意到这两个变体之间的性能差异。
log10(x)
清楚地表达了你的意图,而对于log(x)/log(10)
,你是否真的想要一个基数-10的对数就不那么清楚了。
https://stackoverflow.com/questions/31191023
复制