博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言中 ln(以自然对数e为底) lg(以十为底) 以及logab(以a为底,b为真数)的相关知识...
阅读量:6991 次
发布时间:2019-06-27

本文共 1275 字,大约阅读时间需要 4 分钟。

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

 

的定义:一般地,如果a
x=N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x=aN,读作以a为底N的对数,其中a叫做对数的,N叫做。
一般地,函数y=logax(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; }

 

输出:

 

在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<cmath>

 

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

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

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

公式描述:

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

 

 

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

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

 

#include
#include
#include
using namespace std; int main() { printf("%f\n",log(8)/log(2)); return 0; }

 

 

输出:

 

原文:http://blog.csdn.net/liujian20150808/article/details/50628061

你可能感兴趣的文章
Nginx记录客户端POST过来的具体信息
查看>>
windows nginx安装与开机启动
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
跨平台传值
查看>>
js点击标签时获取当前标签属性值
查看>>
C# Request.InputStream 读取输入流为空的原因处理
查看>>
golang 中map并发读写操作
查看>>
zabbix自动发现
查看>>
c++和c动态申请二维数组
查看>>
在普通activity下布置代码逻辑
查看>>
mysql
查看>>
JAVA异常知识总结
查看>>
silverlight的第一个程序
查看>>
XSS注入方式和逃避XSS过滤的常用方法(整理)
查看>>
5. 最长回文子串
查看>>
[coursera] 面试前准备
查看>>
静态页跨页面传值
查看>>
.net core iis配置
查看>>
C#根据屏幕分辨率改变图片尺寸
查看>>
【POJ 3585】Accumulation Degree
查看>>