对数算法

Jus*_*tin 26 java algorithm math logarithm

我需要以某种精度来评估任何基数的对数,无关紧要.有算法吗?我用Java编程,所以我对Java代码很好.

如何快速找到二进制对数?(O(1)充其量)也许能够回答我的问题,但我不明白.它可以澄清吗?

Ósc*_*pez 77

使用此身份:

log b(n)= log e(n)/ log e(b)

哪里log可以是任何基数的对数函数,n是数字并且b是基数.例如,在Java中,这将找到256的base-2对数:

Math.log(256) / Math.log(2)
=> 8.0
Run Code Online (Sandbox Code Playgroud)

Math.log()e顺便说一句,使用base .还有Math.log10(),它使用基础10.