c语言中输出以e为底的指数,C语言中 ln(以自然对数e为底) lg(以十为底) 以及logab(以a为底,b为真数)的相关知识...

总所周知,我们在高中学过对数函数,记作y=logax。下面是百度百科关于对数函数的描述:

对数的定义:一般地,如果a

x=N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x= log

aN,读作以a为底N的对数,其中a叫做对数的 底数,N叫做 真数。

一般地,函数y=log

ax(a>0,且a≠1)叫做对数函数,也就是说以幂为

自变量,指数为

因变量,底数为

常量的函数,叫对数函数。

其中x是自变量,函数的

定义域是(0,+∞)。它实际上就是

指数函数的

反函数,可表示为x=a

y。因此指数函数里对于a的规定,同样适用于对数函数。 而在C++/C语言中,也有对数函数,只不过表示方式略有不同。

在C++/C语言中,对数函数y = lnx的表示方法为y = log(x),函数的完整原型为:double log(double x);

例如:

#include

#include

#include

using namespace std;

int main()

{

printf("%f\n",log(10));

return 0;

}

输出:801616312508f009f9edc7754588b30e.png

在C++/C语言中,对数函数y = lgx(以10为底的对数函数)的表示方法为y = log10(x),函数的完整原型为:double log10(double x);

例如:

#include

#include

#include

using namespace std;

int main()

{

printf("%f\n",log10(10));

return 0;

}输出:

因此我们在实际应用中可以直接调用这两个函数,但要记住在C/C++语言中表示的不同形式,而且在使用时需要加上

头文件#include

否则在题目提交时会报错(PE)

那么又会有问题,我们要怎么样求常规对数,即logab(以a为底,b为真数)的值呢?

这个其实也很简单,一个换底公式就解决了

9918a18c831eb9a3d89c69d0cb379fde.png

公式描述:

公式中a,c均大于零且不等于1。

因此我们可以将其转换成两个以自然对数为底或者是以10为底的数的商

例如:我们要求解log(2)8的值,则有:

#include

#include

#include

using namespace std;

int main()

{

printf("%f\n",log(8)/log(2));

return 0;

}

输出:9bb75cf474bb7acbb3a018e5b9f8b8fe.png

如有错误之处,还请指正,O(∩_∩)O谢谢

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值