跳到主要内容

对数计算从入门到吃透:log_b(x)、ln、换底公式与三个真实用途

一篇讲清对数怎么算的中文指南,涵盖对数定义、常用对数 lg 与自然对数 ln 的区别、换底公式、四条运算法则,以及分贝、pH、复利里对数的真实用途。

发布于 作者 李雷
#对数计算 #log #换底公式 #自然对数 #数学工具

对数计算从入门到吃透:log_b(x)、ln、换底公式与三个真实用途

很多人第一次见到对数,卡点不在算,而在不知道这玩意儿到底在问什么。其实一句话就能说清:对数问的是,底自乘几次能得到这个数。写成 log_b(x) = y,意思就是 b 的 y 次方等于 x。你可以把它看成指数运算的逆操作,指数把次数变成结果,对数把结果还原成次数。

对数的定义:log_b(x) 到底在问什么

定义里有三个角色:底 b、真数 x、对数值 y。它们满足 b^y = x。举个最干净的例子,log_2(8) = 3,因为 2 的 3 次方正好是 8。再来一个,log_10(100) = 2,因为 10 的平方是 100。

这里有两条定义域规则容易被忽略,但它俩是对数成立的前提。第一,底 b 要大于 0 且不等于 1。如果底是 1,1 的任何次方都还是 1,永远到不了 2 或 10,对数就没意义。第二,真数 x 要大于 0,因为正底数的任何次方都是正的,负数和 0 取不到。填了不合法的输入,正经工具应该给提示,而不是抛一个 NaN 让你摸不着头脑。

常用对数 lg 与自然对数 ln 的区别

平时课本里写的 lg,指的是底为 10 的常用对数,也就是 log_10。它和十进制天然契合,所以分贝、pH 这类十进制刻度都用它。

ln 是自然对数,底是常数 e ≈ 2.71828。它看起来怪,却是理科的默认选择,因为 ln(x) 的导数正好是 1 ÷ x,在增长、衰减、微积分里到处都是。记两个锚点就够用:ln(e) = 1,而 ln(10) ≈ 2.3026,后者不等于 1,这一点经常被填错。换句话说,同一个真数,用 lg 和用 ln 算出来的值不一样,差的正是 ln(10) 这个换算系数。

换底公式:任意底都能算的那把钥匙

绝大多数计算器和编程语言只给你 ln 和 log_10,不直接给任意底。换底公式就是把任意底改写成你已有的底:

log_b(x) = ln(x) ÷ ln(b)

用 log_10 同样成立:log_b(x) = log_10(x) ÷ log_10(b)。两条公式本质一样,选哪个看你手头有哪个键。

我自己第一次真正记住换底公式,是在写一段二分查找的复杂度分析时。代码语言里只有 Math.log(自然对数),我要算 log_2,只能现推。套上去:log_2(1000000) = ln(1000000) ÷ ln(2) ≈ 13.8155 ÷ 0.6931 ≈ 19.93,所以一百万条数据的二分查找大约 20 步到底。从那以后这条公式就刻进脑子了,因为它实在太常用。

一个具体的输入输出例子,方便你核对:log_2(8) 用换底公式是 ln(8) ÷ ln(2) = 2.0794 ÷ 0.6931 = 3;而 ln(e) = 1,这是定义直接给的。如果你想边算边看每一步除法展开,可以直接用 对数计算器 把真数和底填进去,它会把换底过程逐行列出来,不用盲信一个数字。

对数运算法则:四条就够用

对数把乘除升降级成加减,这正是它最实用的地方。四条法则记牢:

第一,乘法变加法:log_b(M × N) = log_b(M) + log_b(N)。第二,除法变减法:log_b(M ÷ N) = log_b(M) − log_b(N)。第三,幂次提到前面:log_b(M^k) = k × log_b(M)。第四,换底就是上一节那条。

第三条尤其好用。比如算 log_2(8),把 8 写成 2^3,直接得 3 × log_2(2) = 3 × 1 = 3,一步到位。这些法则不是孤立的技巧,它们都来自指数的同名规则,指数相乘对应底数相加,翻过来看就是对数。

三个真实用途:分贝、pH、复利

对数刻度的好处是,把跨越好几个数量级的量压进一个能读的范围。

声音的分贝是以 10 为底的对数。声压每涨十倍,分贝加 20。这就是为什么 60 分贝的谈话和 120 分贝的飞机引擎,听感差距远不止两倍,后者的能量是前者的一百万倍。

化学里的 pH 是氢离子浓度取负的常用对数:pH = −log_10([H⁺])。pH 差 1,浓度差 10 倍。已知 pH 反推浓度,就是做反对数,也就是 10 的负 pH 次方。这种由对数值还原真数的逆运算,正是反对数模式的用武之地。

金融里的复利也藏着对数。想知道一笔钱按年化 r 翻倍要多少年,解 (1+r)^n = 2,两边取对数就是 n = ln(2) ÷ ln(1+r)。年化 7% 时,n ≈ 0.6931 ÷ 0.0677 ≈ 10.2 年,这也是常说的「72 法则」背后的真身。如果你常和很小或很大的数字打交道,配一个 科学记数法转换器 一起用会顺手很多。

把定义、换底公式、四条法则和这几个用途串起来,对数就不再是一个抽象符号,而是一把能把乘法变加法、把数量级压平的工具。下次遇到 log,先问自己一句:底是几,真数是几,答案就是那个次方。


Made by Toolora · Updated 2026-06-13