1. 基本概念

Math.log()方法用于求一个数的自然对数,自然对数就是以自然常数e为底的对数,在数学上常简单表示为ln(x)。它的语法形式如下所示:

Math.log(x);

参数x就是要计算它的自然对数的那个数,即Math.log(x) = ln(x)。因此参数x应该是一个数字,即x的类型应该为Number。如果你传递的x不是Number类型的,那么它会被自动转换为Number类型。

由高中数学知识,我们可知自然对数函数的定义域为(0,+∞),值域为(-∞,+∞);它的函数图像如图1所示。

图1 自然对数的函数图像

对照该函数图像,就很容易理解Math.log()方法是如何根据参数x的值而返回不同的结果的。具体来说,该方法的返回值由以下规则决定;如果x原本不是数字,那么这些规则中提到的x的值指的是它被转换为数字后的值。

1. 如果x是NaN,那么结果也是NaN;

2. 如果x小于0,那么结果也是NaN;

3. 如果x是零(包括+0和-0),那么结果是负无穷(-Infinity);

4. 如果x是正无穷(+Infinity),那么结果也是正无穷(+Infinity);

5. 其余情况下,x就是区间(0,+∞)中的一个数;因此结果就是x的自然对数,即ln(x)。

注意,当x为1的时候,结果是+0,这是因为JavaScript要区分+0和-0。且+0和+Infinity通常直接显示为0和Infinity,而不显示前面的正号。

2. 示例

本示例将展示传递不同的参数时,Math.log()方法的返回值;它的执行结果如图2所示。

图2 Math.log()方法的执行结果

(完)

java计算自然数对数_JavaScript用Math.log()计算一个数的自然对数相关推荐

  1. Math.log()是以常数e为底数的对数

    说明: 我遇到一个问题,问题是这样说的:"编写一个递归的静态方法计算ln(N!)的值",那刨除N!的话,就是让我计算以常数e为底数的对数,而Math.log(M)就可以计算以常数e ...

  2. 如何用java取对数_使用Java中的Math.log获取自然对数值

    要获取数字的自然对数,我们使用java.lang.Math.log()方法.Math.log()方法返回自然对数,即log以double值的底数e为底.如果传递的值为NaN或负数,则结果为NaN.如果 ...

  3. Java 中使用数学的Math.log的方法

    今天用存储过程向数据库插入了500W的数据,耗时N久,于是就想知道二分查找1000万的效率,但忘了怎么计算..... Java 的Math.log(double a) 函数是以e(2.71828... ...

  4. java中进行对数运算_java中计算对数

    从 Java 1.0 开始,Math 类有了一个自然对数.也就是给定一个参数 x,该自然对数返回 e 的几次幂等于给定的值 x.遗憾的是,Java 语言的(以及 C .Fortran 和 Basic ...

  5. java求一元二次方程“ax2+bx+c=0,(a≠0)”的根。要求:通过命令行参数或者Scanner类输入a、b和c的值,借助Math类计算并输出该一元二次方程的实数根。

    编程题:求一元二次方程"ax2+bx+c=0,(a≠0)"的根.要求:通过命令行参数或者Scanner类输入a.b和c的值,借助Math类计算并输出该一元二次方程的实数根. 提示: ...

  6. java用for计算自然常数_Java程序来计算自然数之和

    Java程序来计算自然数之和 在此程序中,您将学习如何在Java中使用for循环和while循环来计算自然数之和. 正数1.2.3 ...称为自然数,其和是从1到给定数的所有数字的结果. 对于n,自然 ...

  7. java 正切_Java Math.tan()/Math.tanh() 计算正切/双曲正切

    首页 > 基础教程 > 常用类 > 常用 Number & Math类 Java Math.tan()/Math.tanh() 计算正切/双曲正切 java中Math.tan ...

  8. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  9. java中怎样定义实数_Java Math 类中的新功能,第 1 部分: 实数

    在这篇由两部分组成的文章中,Elliotte Rusty Harold 与您一起探讨经典 java.lang.Math 类中的"新"功能.第 1 部分主要讨论比较单调的数学函数.第 ...

最新文章

  1. 机械行业 偏计算机,院校篇丨机械类:985机械不如二本计算机?
  2. CentOS 7安装Redis服务
  3. HDU 2899 三分
  4. matlab::mex::ArgumentList outputs的创建
  5. Android学习(七)—— Android布局
  6. html文件设置断点调试,断点调试
  7. terminal中常用的rvm指令
  8. Seq2Seq中的Attention
  9. 数据资产管理直面企业哪些痛点
  10. 市场经济中,大家都象防贼一样保留证据,以用于欠薪仲裁
  11. 炼油化工常用英文缩写
  12. npx create-react-app 动不了???(解决方法)
  13. 利用MATLAB 实现证件照换底色教程
  14. altium PCB文件瘦身
  15. 三个小李子讲述安卓动画用法
  16. CDN有什么加速方式
  17. 微信小说,微信游戏系统域名被屏蔽是怎么回事
  18. MYSQL 递归树表函数
  19. 程序员才看得明白的面试圣经
  20. GIS及空间统计相关基础整理【持续整理中】

热门文章

  1. Android Button动画与炫酷跳转
  2. Dubbo学习-注册中心
  3. 法蒂玛机器人_机器佣人法蒂玛
  4. 蒙特卡洛方法求解强化学习任务——基于离轨策略的蒙特卡洛策略评估
  5. 十年前的32位笔记本使用平铺桌面管理工具i3跑得飞快
  6. 海外应用商店的ASO优化表现跟踪
  7. element table滚动条固定视图底部
  8. java 接口单元测试_单元测试
  9. ld: framework not found Pods_
  10. 最基础的打印“你好!”。