首先在C语言中要用到指数、对数的相关公式,需要引入math.h。另外ln是以e为底数,lg是以10为底数。
代码如下:
#include<stdio.h>
#include<math.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
C语言中直接提供的是e为底的自然对数log,和以10为底的常用对数log10,其他对数写个函内数就可以。
#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。因闹衫禅算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特塌友右移。
log对数函数基本十个公式如下:
1、 log(a)(MN)=log(a)(M)+log(a)(N);
2、log(a)(M/N)=log(a)(M)-log(a)(N);
3、log(a)(M^n)=nlog(a)(M) (n∈R);
4、log(A)M=log(b)M/log(b)A (b>0且b≠1);
5、对数恒等式:a^log(a)N=N,log(a)a^b=b;
6、log(a)M^(1/n)=(1/n)log(a)M;
7、 log(a)M^(-1/n)=(-1/n)log(a)M;
8、log(a^n)M^n=log(a)M;
9、log(a^n)M^m=(m/n)log(a)M;
10、log(a)b×log(b)c×log(c)a=1。
log对数函数运算注意事项
1、若式中幂指数则有以下的正数的算术根的对数运算法则,一个正数的算术根耐帆誉的对数,等于被开方数的对数除以根指数。
2、定义域x为真数,真数必须为正数,昌段故定义域为{x|x>0}。每次进行拆分时保证每个真数为正数,如log2(-2*(-4))不能轿此拆分,但是其本身可以计算。
3、以10为底的对数函数通常记为lg,以自然数e(大约为2.718)为底的对数函数,通常记为ln。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)