J'ai besoin d'évaluer un logarithme de n'importe quelle base, peu importe, avec une certaine précision. Existe-t-il un algorithme pour cela? Je programme en Java, donc je vais bien avec Java code.
Comment trouver un logarithme binaire très rapidement? (O (1) au mieux) pourrait répondre à ma question, mais je ne le comprends pas. Peut-il être clarifié?
Utilisez cette identité:
journalb(n) = loge(n)/logeb)
Où log
peut être une fonction de logarithme dans n'importe quelle base, n
est le nombre et b
est la base. Par exemple, dans Java cela trouvera le logarithme en base 2 de 256:
Math.log(256) / Math.log(2)
=> 8.0
Math.log()
utilise la base e
, soit dit en passant. Et il y a aussi Math.log10()
, qui utilise la base 10
.