十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C语言中直接提供的是e为底的自然对数log,和以10为底的常用对数log10,其他对数写个函内数就可以。
创新互联公司是一家做网站、成都做网站,提供网页设计,网站设计,网站制作,建网站,按需定制网站,网站开发公司,从2013年开始是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。
#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);}
扩展资料:
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,中括号内的索引值是从0算起的。
C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件string.h。
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
比较特别的是,比特右移()运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
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;
}
#includestdio.h
#include math.h
void main()
{
float x=5,y;
y=log(x);
printf("%f\n",y);
}
扩展资料:
C语言中使用对数函数的方法
log()函数:返回以e为底的对数值
头文件:
1#include
log() 函数返回以 e 为底的对数值,其原型为:
1double log (double x);
log()用来计算以e为底的 x 的对数值,然后将结果返回。设返回值为 ret,则
1x = eret
如果 x 为负数或 0,则会发生错误并设置 errno 值。错误代码:
EDOM:参数x 为负数;
ERANGE:参数x
为零值,零的对数值无定义。
注意:使用 GCC 编译时请加入-lm。
求lnx为log(x)求log 10 x是log10(x)没有专门的求任意底数对数的函数,不过可以用log(x)/log(y)表示log y x
Log(number)
必要的 number 参数是 Double 或任何有效的大于 0 的数值表达式。
说明
自然对数是以 e 为底的对数。常数 e 的值大约是 2.718282。
如下所示,将 x 的自然对数值除以 n 的自然对数值,就可以对任意底 n 来计算数值 x 的对数值:
Logn(x) = Log(x) / Log(n)
下面的示例说明如何编写一个函数来求以 10 为底的对数值:
Static Function Log10(X)
Log10 = Log(X) / Log(10#)
End Function
本示例使用 Log 函数得到某数的自然对数值。
Dim MyAngle, MyLog
' 定义角度(以“弧度”为单位)。
MyAngle = 1.3' 计算反双曲正弦函数值(inverse sinh())。
MyLog = Log(MyAngle + Sqr(MyAngle * MyAngle + 1))
C语言中没有以任意为底数的对数函数,所以log5是没有的。所以可以用logx(y)=log(y)/log(x)来代替,修改代码如下
#include"stdio.h"
#include"math.h"
void main()
{
double a,b;
a=2*3.14-1;
b=log(sqrt(a))/log(5);
printf("%f\n",b);
getchar();
}