int main()
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了临桂免费建站欢迎大家使用!
{
double a,b;
a=10;
b=log(a);
printf("%lf\n",b);
b=log10(a);
printf("%lf\n",b);
return 0;
}
在8086-FPU 芯片中是一样的:
log:
fldln2 ;只是这句不同
sub esp, 8
fld qword ptr [4080B0] ; ds:[004080B0]=10.00000000000000
fyl2x
fstp qword ptr [esp]
log10:
fldlg2 ;只是这句不同
add esp, 4
fld qword ptr [4080B0] ; ds:[004080B0]=10.00000000000000
fyl2x
fstp qword ptr [esp]
看图片:
Log(number)\x0d\x0a必要的 number 参数是 Double 或任何有效的大于 0 的数值表达式。\x0d\x0a说明\x0d\x0a自然对数是以 e 为底的对数。常数 e 的值大约是 2.718282。\x0d\x0a如下所示,将 x 的自然对数值除以 n 的自然对数值,就可以对任意底 n 来计算数值 x 的对数值:\x0d\x0aLogn(x) = Log(x) / Log(n)\x0d\x0a下面的示例说明如何编写一个函数来求以 10 为底的对数值:\x0d\x0aStatic Function Log10(X)\x0d\x0a Log10 = Log(X) / Log(10#)\x0d\x0aEnd Function\x0d\x0a本示例使用 Log 函数得到某数的自然对数值。\x0d\x0a\x0d\x0aDim MyAngle, MyLog\x0d\x0a' 定义角度(以“弧度”为单位)。\x0d\x0aMyAngle = 1.3' 计算反双曲正弦函数值(inverse sinh())。\x0d\x0aMyLog = Log(MyAngle + Sqr(MyAngle * MyAngle + 1))
x的自然对数用log(x)表示
常用对数用log10(x)表示
#includestdio.h
#includemath.h
int main()
{int i;
for(i=1;i=10;i++)
printf("log10(%d)=%lf\n",i,log10(i));
return 0;
}
C语言中没有以a为底b为真数的对数函数;只有以常用对数10为底的对数或自然对数e为底的对数(即Ig、In),此时就要用到换底公式来换成以e或者10为底的对数来表示出以a为底b为真数的对数表达式,从而来处理某些实际问题。
我帮你查函数表了,double就已经足够了,我们换底为10,调用函数double
result=log10(x),然后注意除法,小心分母的数据类型,必须为double,否则很有可能出错,这就是我的建议祝你好运~编程愉快~~
函数log是以e为底的,log10是以10为底的,除了这两个以外,其它的要用换底公式来计算了