首先在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
原型:double log (double x)头文件:math.h
功能:计算以e 为底的对数值
程序例:
#include <math.h>
#include <stdio.h>
int main(void)
{
double result
double x = 321.123
result = log(x)
printf("The common log of %lf is %lf\n", x, result)
return 0
}
C语言里面有该函数,所以输入一个双精度浮点数,对其进行函数变换即可生成其对数。
还有如果你的意思是输入对数进行幂运算的话有下面这个函数
原型:extern float pow(float x, float y)
用法:#include <math.h>
功能:计算x的y次幂。
说明:x应大于零,返回幂指数的结果。
举例:
// pow.c
#include <stdlib.h>
#include <math.h>
#include <conio.h>
void main()
{
printf("4^5=%f",pow(4.,5.))
getchar()
}
你好,CUDA
自带求log的方程,参考如下:
e为底数:
log(x)
10为底数:
log10(x)
2为底数:log2(x)
谢谢,请采纳。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)