c语⾔中ln,lg,log的表⽰。
c标准头⽂件math.h中有两个与log有关的函数。
double __cdecl log(double _X);
double __cdecl log10(double _X);
其中log相当于数学中的ln(即loge)。
log10相当于数学中的lg。
如下:log ln lg的互换公式
#include <math.h>
#include <stdio.h>
const double e = exp(1.0);;//可以⽤这个⽅法获得⽐较精确的e值。
//exp()也是math.h中的函数,其功能是求e的幂
int main()
{
printf("%.6lf\n", log10(10.0));
printf("%.6lf\n", 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\n", log10(8.0)/log10(2.0));
return 0;
}
输出:
3.000000
#include <stdio.h>#include <math.h>int main(){printf("%.6lf\n", log10(8.0)/log10(2.0));return 0;}