指数和对数

阅读 638

指数和对数是数学中描述“变化”和“尺度”的一对逆运算,就像加法和减法一样。

指数

在数学中,给定一个数a,将其自身连乘n次,得到的结果表示为 an(其中a≠0),这被称为幂运算其中,a被称为底数,n被称为指数。

在JavaScript中,如果求数字3连乘4次的结果,可使用指数操作**:

let r = 3 ** 4

结果为81。

也可以使用Math.pow函数来求值,其中,pow是power的简写:

let r = Math.pow(3, 4)

结果是一样的。

另外,当指数n为0时,对于任何非零的底数a,幂运算的结果定义为1,即 a0 = 1。

自然常数e

特别的,当a的值为一个特殊的常数(约等于2.71828)时,如果对其进行幂运算,除了上面的方法外,还可以使用函数Math.exp求值,其中,exp是 exponential 的简写

let r2 = Math.exp(3)

exp(3)表示以e为底,以3为指数进行幂运算,结果约等于20.0855。

在JavaScript中,用Math.E表示这个特殊的常数。这个常数被称为自然常数(或欧拉常数)。它和Math.PI一样,是数学中最重要的常数之一,在数学中,用e表示。

指数函数

数学中,指数函数是指:底数为固定常数,指数为自变量的函数,其一般形式为 f(x) = ax。其中,a>0且a≠1。

在前面的例子中,我们使用了Math.pow函数或 ** 来求得一个常量a的n次幂。

特别的,对于以e为底的常数,还可以使用Math.exp函数来求它的n次幂结果,数学中表示为 f(x)=ex,也记作exp⁡(x)

对数

现在,我们知道可以用指数函数来求 e 的n次幂了。反过来,如果给定一个幂运算的结果,求e的指数呢?

可以使用对数函数Math.log来求:

let n = Math.log(r2)

结果为3。

在数学中,对数的定义如下:如果ax=N,则x被称为以a为底N的对数,记作x=logaN

自然对数是以e为底数的对数,记作ln(x)。如果e^y = x,那么y = ln(x)。

两者关系

可以看到,两者互为逆运算。指数计算是“问结果”:2的3次方等于几?对数计算是“问次数”:2的几次方等于8?

指数函数ax的反函数是对数函数logax

自然指数函数ex的反函数为自然对数函数logex,也记作ln(x)

在JavaScript中,使用Math.log(x)来表示自然对数函数。

注意⚠️:在JavaScript中,Math.log(x)方法只能求以e为底的对数。如果要求以2为底的对数,还可以使用Math.log2(x)方法,比如:Math.log2(8)结果为3。但如果要求5为底的对数,就需要用换底公式来进行计算:

function getBaseLog(base, value) {
    return Math.log(value) / Math.log(base);
}

let exponent = getBaseLog(5, 25); 
console.log(exponent); // 输出: 2

因为JS没有直接提供“任意底数对数”的API,所以,需要做一个转换。

现实世界的用处

现实世界中,我们经常会遇到指数增长。

例如,一个细菌数量,N=2^t。那么:

  • 当t为1,N为2;
  • t为2,N为4;
  • t为10,N为1024;
  • t为20;N为1,048,576。

指数,反映了数据变化的剧烈程度。

如果现在反过来问:已经有 1024 个细菌,大约经过了多少个周期?

这就不是简单的乘除法了,而是log2x。

对数,就是解决这种“指数反问题”的工具。

所以,对数在计算机科学、物理学、金融、信息论等领域都非常常见。

总结

指数描述“变化有多剧烈”,对数描述“要达到这个剧烈程度,需要翻多少倍”。它们共同帮人类理解从微观细胞到宏观宇宙的尺度问题。

最后编辑于: 2026-08-12

评论(0条)

(必填)
复制成功