C语言中 ln(以自然对数e为底) lg(以十为底) 以及logab(以a为底,b为真数)的相关知识
2016-02-03 10:31
477 查看
总所周知,我们在高中学过对数函数,记作y=logax。下面是百度百科关于对数函数的描述:
对数的定义:一般地,如果ax=N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x=logaN,读作以a为底N的对数,其中a叫做对数的底数,N叫做真数。
一般地,函数y=logax(a>0,且a≠1)叫做对数函数,也就是说以幂为自变量,指数为因变量,底数为常量的函数,叫对数函数。
其中x是自变量,函数的定义域是(0,+∞)。它实际上就是指数函数的反函数,可表示为x=ay。因此指数函数里对于a的规定,同样适用于对数函数。
而在C++/C语言中,也有对数函数,只不过表示方式略有不同。
在C++/C语言中,对数函数y = lnx的表示方法为y = log(x),函数的完整原型为:double
log(double x);
例如:
在C++/C语言中,对数函数y = lgx(以10为底的对数函数)的表示方法为y = log10(x),函数的完整原型为:double
log10(double x);
例如:
因此我们在实际应用中可以直接调用这两个函数,但要记住在C/C++语言中表示的不同形式,而且在使用时需要加上头文件#include<cmath>
否则在题目提交时会报错(PE)
那么又会有问题,我们要怎么样求常规对数,即logab(以a为底,b为真数)的值呢?
这个其实也很简单,一个换底公式就解决了
公式描述:
公式中a,c均大于零且不等于1。
因此我们可以将其转换成两个以自然对数为底或者是以10为底的数的商
例如:我们要求解log(2)8的值,则有:
如有错误之处,还请指正,O(∩_∩)O谢谢
对数的定义:一般地,如果ax=N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x=logaN,读作以a为底N的对数,其中a叫做对数的底数,N叫做真数。
一般地,函数y=logax(a>0,且a≠1)叫做对数函数,也就是说以幂为自变量,指数为因变量,底数为常量的函数,叫对数函数。
其中x是自变量,函数的定义域是(0,+∞)。它实际上就是指数函数的反函数,可表示为x=ay。因此指数函数里对于a的规定,同样适用于对数函数。
而在C++/C语言中,也有对数函数,只不过表示方式略有不同。
在C++/C语言中,对数函数y = lnx的表示方法为y = log(x),函数的完整原型为:double
log(double x);
例如:
#include<cstdio> #include<algorithm> #include<cmath> 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<cstdio> #include<algorithm> #include<cmath> 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<cstdio> #include<algorithm> #include<cmath> using namespace std; int main() { printf("%f\n",log(8)/log(2)); return 0; }输出:
如有错误之处,还请指正,O(∩_∩)O谢谢
相关文章推荐
- C++ development cross platforms
- C++学习札记一
- C++基本概念——细数auto和decltype之间的区别
- 基于AT89C51教程之软件篇(一)头文件的故事
- C语言结构体中的函数指针
- C++/MFC修行之路(1) 文件操作
- C++小练习题,很有趣!很简单!-- 001 (咋个办呢 zgbn)
- C++小练习题,很有趣!很简单!-- 002 (咋个办呢 zgbn)
- C++的for循环细节,必看!
- 队列的定义与实现(C语言实现)
- C++ map的基本操作和使用
- 随机路径选择
- C++
- 手把手Tinyxml入门,C++ VS2010
- C++10
- C语言编程获取PE文件导出表内容
- C语言编程获取PE文件导入函数
- C语言编程获取PE文件Section_Header
- C语言编程获取PE文件Option_Header
- C语言编程获取PE文件File_Header内容