Функция логарифма произвольной целочисленной базы в C

Есть ли функция или любой другой способ вычисления в C логарифма базы x, где x является целочисленной переменной моей программы?

Ответ 1

C не предоставляет функции для вычисления логарифмов любых оснований, отличных от e или 10.

Так просто используйте математику:

logarithm of x base b = log(x)/log(b)

Если вы будете повторять логарифмы по одной и той же базе данных, вы можете прекомпилировать 1/log(b).
Я бы не стал полагаться на компилятор, который мог бы сделать эту оптимизацию для вас.