扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、C里直接提供的是 以 e 为底的自然对数 log ,和 以 10 为底的常用对数 log10。
目前累计服务客户上1000+,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都网站设计、网站建设、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联公司始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。
2、例程:
#include stdio.h
#include math.h
double loga(double n, double base);
int main (void)
{
double a, b, c;
a = log(exp(1));
b = log10(10);
c = loga(100, 5);
printf("%lf %lf %lf", a, b, c);
}
double loga(double n, double base)
{ return log(n) / log(base);}
在C语言中,自然对数函数只要包含math.h头文件,
#includemath.h
然后使用y=log(x);就可以了。
另外,由于0和负数是没有对数的,所以,使用这个公式时要保证x是一个正数。
log:DOMAIN error
意为计算对数时范围超出定义域,象你的这个提示,是说x的值出现了小于或等于0的情况。
比如你定义
一个函数
int
fun
(int
a,b)
XXXXXX
XXXXXX
……
main()
{……
c=fun(x);
return(c);
}
就是函数调用吧
这个
c=
fun(x)就是对函数
fun
的调用
首先在C语言中要用到指数、对数的相关公式,需要引入math.h。另外ln是以e为底数,lg是以10为底数。
代码如下:
#includestdio.h
#includemath.h
void main()
{
double exponent, base;
exponent = 3.14;
printf("ln(%f) = %.2f\n", exponent, log(exponent));//以e为底数的对数
exponent = 100;
printf("lg(%.f) = %.2f\n", exponent, log10(exponent));//以10为底数的对数
base = 5, exponent = 100;
printf("log_%.f(%.f) = %.2f\n", base, exponent, log(exponent)/log(base));//换底公式
return 0;
}
在求log_5(100)时需要用到“换底公式”:log_5(100) = ln(100)/ln(5)。
扩展资料:
math.h文件中包含的函数主要分为以下几类:
1、三角函数、反三角函数、双曲三角函数。
2、指数、对数。
3、取整、绝对值。
4、标准化浮点数。
涉及参数类型为double类型。
参考资料:
百度百科——换底公式
百度百科——math.h
1 使用math.h中的log函数,其相当于ln
2 示例:求ln(2)的值
#includestdio.h
#includemath.h
int main(){
double n = 2;
double result = log(n);
printf("%lf", result);
getchar();
return 0;
}
3 运行结果
这与卡西欧计算器里的值是一致的
求lnx为log(x)求log 10 x是log10(x)没有专门的求任意底数对数的函数,不过可以用log(x)/log(y)表示log y x
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流