Logarithm function of an arbitrary integer base in C

nikos picture nikos · Jun 15, 2012 · Viewed 10.2k times · Source

Is there a function or any other way to calculate in C the logarithm of base x, where x is an integer variable of my program?

Answer

Mysticial picture Mysticial · Jun 15, 2012

C doesn't provide functions to compute logarithms of any bases other than e or 10.

So just use math:

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

If you'll be doing the logarithms over the same base repeatedly, you can precompute 1/log(b).
I wouldn't rely on the compiler being able to do this optimization for you.