c标准头文件math.h中有两个与log有关的函数。
double __cdecl log(double _X); double __cdecl log10(double _X);
其中log相当于数学中的ln(即loge)。
log10相当于数学中的lg。
如下:
#include <math.h> #include <stdio.h> const double e = exp(1.0);;//可以用这个方法获得比较精确的e值。 //exp()也是math.h中的函数,其功能是求e的幂 int main() { printf("%.6lf ", log10(10.0)); printf("%.6lf ", log(e)); return 0; }
输出:
1.000000 1.000000
如果想表示logab的对数,可以用换底公式。
把logab换成以10或e为底的对数就好了。
例如:表示log28如下:
log28=lg8/lg2
#include <stdio.h> #include <math.h> int main() { printf("%.6lf ", log10(8.0)/log10(2.0)); return 0; }
输出:
3.000000
#include <stdio.h>#include <math.h>int main(){printf("%.6lf ", log10(8.0)/log10(2.0));return 0;}