Logaritmos en base arbitraria

La librería de matemáticas en muchos lenguajes (como C++) sólo nos proporciona funciones para el cálculo de logaritmos naturales (en base e) y logaritmos en base 10.

Cuando programamos, con frecuencia necesitamos calcular logaritmos en una base arbitraria. Por ejemplo, es común trabajar con árboles binarios y por lo tanto necesitar calcular logaritmos en base 2, o trabajar con octrees y necesitar logaritmos en base 8.

El logaritmo en una base arbitraria b, logb(x), se puede calcular utilizando los logaritmos de x y b en otra base arbitraria k utilizando la siguiente fórmula:

log_b(x)=log_k(x)/log_k(b)

donde k podría ser ‘e’ o 10, lo cual nos permite calcular logaritmos en base arbitraria usando las funciones estàndar de la librería de matemáticas.