函数原型:double log(double x);
目前创新互联建站已为成百上千的企业提供了网站建设、域名、雅安服务器托管、网站托管、企业网站设计、奈曼网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
double log10(double x); 例子:void main( void )
{
double x = 9000.0;
double y;
y = log( x );
printf( "log( %.2f ) = %f\n", x, y );
y = log10( x );
printf( "log10( %.2f ) = %f\n", x, y );
}输出结果如下:log( 9000.00 ) = 9.104980
log10( 9000.00 ) = 3.954243谢谢采纳
先说指数。
初中数学应该学过指数吧,如2^1=2,2^2=4,2^3=8等,外形如a^b这个样子的,就表示连续b个a相乘。
2^1 表示连续一个2相乘,就是2自己。2^2表示连续两个2相乘就是2x2 =4。2^3 表示连续3个2相乘就是2x2x2 =8。
而对数就是指数的逆运算,对数的运算符号是log,就像加法有+号,减法有-号一样。
如果a^b 的结果记为c,就是a^b =c. 这个式子的逆运算就是log a(c) =b。
为了计算简便,人们常用的一个是a=10 。则对于10^b =c表示连续有b个10相乘,其结果是c;对于这个式子,如果知道了结果c的值如:结果c=100.那么就可以求出b的值,求得这时b=2,因为连续2个10相乘等于100。用数学符号把求b的过程表示出来就是:
,这个已知c求b的过程就叫对数运算。
log 10(x)就表示有一个数b,使得10^b=x,现在已知x想求b。
如果还看不懂就找初中数学来看看。
函数原型 double log10(double x); //计算log10 x的值#includestdio.h#includemath.hmain(){double x=100,y;y=log10(x);printf("%lf\n",y); } 输出的值是 2.000000
#includestdio.h
#includemath.h
#includeWindows.h//forsystem("pause");
int main()
{
double a,b;
printf("请输入一个实数:");
scanf("%lf",a);//输入实数,需要“%lf”
b=log10(a);
printf("%lf\n",b);
system("pause");
}
望采纳
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]
看图片:
编译的时候没有链接libm库,用如下命令可编译:
gcc file.c -lm
-l表示需要链接的库,库名不需要"lib",即m表示libm。
PS:main应该要有返回值的,程序正常结束返回0.
int main() { return 0; }