当前位置: 首页 > news >正文

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

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

 

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

 

 

输出:

 

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

转载于:https://www.cnblogs.com/Ph-one/p/7609733.html

相关文章:

  • Ubuntu gcc错误:对'log'等函数未定义的引用
  • error: 'for' loop initial declarations are only allowed in C99 mode
  • 浮点数比较大小的问题
  • 线性代数线性相关特例
  • +2开闭原则
  • (+4)2.2UML建模图
  • 2.1分层数据流
  • +6是不是用例越多越好?为什么说明原因
  • +1阿姆达尔定律
  • +2流水线是怎样提高性能的,会遇到什么问题,解决方法是什么
  • +3软件优化至关重要,软件优化一般有哪些方法?
  • +4 高速缓存
  • +5性能分析定律
  • +6存储结构是怎样提高性能的,它和局部性的关系是什么。
  • +7虚拟内存的作用,通过什么方式提高虚拟内存的性能
  • centos安装java运行环境jdk+tomcat
  • Date型的使用
  • django开发-定时任务的使用
  • E-HPC支持多队列管理和自动伸缩
  • GraphQL学习过程应该是这样的
  • isset在php5.6-和php7.0+的一些差异
  • JSDuck 与 AngularJS 融合技巧
  • markdown编辑器简评
  • oldjun 检测网站的经验
  • Spring Boot MyBatis配置多种数据库
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 强力优化Rancher k8s中国区的使用体验
  • 原生js练习题---第五课
  • 追踪解析 FutureTask 源码
  • 字符串匹配基础上
  • C# - 为值类型重定义相等性
  • Java性能优化之JVM GC(垃圾回收机制)
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (力扣)1314.矩阵区域和
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .gitignore文件设置了忽略但不生效
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core 2.1路线图
  • .NET Core跨平台微服务学习资源
  • .NET Standard 的管理策略
  • .Net Winform开发笔记(一)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET命名规范和开发约定