Search code examples
clogarithm

Logarithm function of an arbitrary integer base in C


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?


Solution

  • 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.