Подтвердить что ты не робот

Алгоритм Логарифма

Мне нужно оценить логарифм любой базы, это не имеет значения, с некоторой точностью. Есть ли алгоритм для этого? Я программирую на Java, поэтому я в порядке с Java-кодом.

Как быстро найти двоичный логарифм? (O (1) в лучшем случае) мог бы ответить на мой вопрос, но я этого не понимаю. Может ли быть разъяснено?

4b9b3361

Ответ 1

Используйте это удостоверение:

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

Где log может быть логарифмической функцией в любой базе, n - это число, а b - база. Например, в Java это найдет логарифм base-2 из 256:

Math.log(256) / Math.log(2)
=> 8.0

Math.log() использует base e, кстати. И там также Math.log10(), который использует base 10.