重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
首先在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
在C++/C语言中,对数函数y = lnx的表示方法为y = log(x),函数的完整原型为:double log(double x)。
#includecstdio
#includealgorithm
#includecmath
using namespace std;
int main()
{
printf("%f\n",log(10));
return 0;
}
扩展资料
C语言 log10() 函数用来求以 10 为底的对数值。
头文件:math.h
语法/原型:double log10(double x);
参数 x 是一个双精度数。
返回值:以 10 为底的 x 的对数值。
【实例】使用C语言 log10() 函数求以 10 为底的 40 的对数。
#include stdio.h
#include math.h
int main() {
double m = 40; //为变量赋初值
double n = log10(m); //求以10为底的参数40的对数
printf("%lf\n", n);
return 0;
}
运行结果:
1.602060