对数公式大全:log、ln、lg 互换与运算指南

最后更新时间:2026-02-26 18:02:28

本文通过 Qwen3.5=Plus 辅助生成!


📌 符号约定(本文采用计算机科学/工程标准):

符号 含义 底数 说明
$\log x$ 常用对数 10 工程、科学计算默认
$\ln x$ 自然对数 e ≈ 2.71828 数学分析、微积分标准
$\lg x$ 二进制对数 2 算法、信息论、计算机领域

一、对数的定义与核心互逆关系

这是理解所有对数公式的基础。对数运算是指数运算的逆运算。

1.1 定义式

若 $a^n = x$(其中 $a>0, a\neq1, x>0$),则:
$$n = \log_a x$$

互换公式
$$ \log_a x = n \iff a^n = x $$

示例

  • 因为 $2^3 = 8$,所以 $\log_2 8 = 3$
  • 因为 $10^2 = 100$,所以 $\log_{10} 100 = 2$
  • 因为 $e^1 = e$,所以 $\ln e = 1$

1.2 基本恒等式

基于定义式推导出的直接结论:

公式 说明 示例
$\log_a 1 = 0$ 1 的对数永远为 0 $\log_{10} 1 = 0$ (因为 $10^0=1$)
$\log_a a = 1$ 底数的对数永远为 1 $\ln e = 1$ (因为 $e^1=e$)
$a^{\log_a x} = x$ 指数还原真数 $2^{\log_2 5} = 5$
$\log_a (a^x) = x$ 对数还原指数 $\log_3 (3^7) = 7$
$\log_a x = \frac{1}{\log_x a}$ 底数与真数互换 $\log_2 8 = \frac{1}{\log_8 2} = 3$

二、对数运算法则

2.1 乘除法则

公式 文字描述 数值示例
$\log_a (M \cdot N) = \log_a M + \log_a N$ 积的对数 = 对数之和 $\log_{10}(100 \times 1000) = 2 + 3 = 5$
$\log_a \left(\frac{M}{N}\right) = \log_a M - \log_a N$ 商的对数 = 对数之差 $\ln\left(\frac{e^5}{e^2}\right) = 5 - 2 = 3$

2.2 幂与根法则

公式 文字描述 数值示例
$\log_a (M^k) = k \cdot \log_a M$ 幂的对数 = 指数×对数 $\log_2(8^3) = 3 \cdot \log_2 8 = 3 \times 3 = 9$
$\log_a (\sqrt[n]{M}) = \frac{1}{n} \cdot \log_a M$ 根的对数 = 对数÷根指数 $\lg(\sqrt{1024}) = \frac{1}{2} \lg 1024 = 5$
$\log_{a^n} M = \frac{1}{n} \cdot \log_a M$ 底数为幂时的变换 $\log_{100} 1000 = \frac{1}{2} \log_{10} 1000 = 1.5$

三、换底公式(核心!)

这是连接不同底数对数的桥梁。

$$ \boxed{\log_a x = \frac{\log_b x}{\log_b a}} $$

记忆口诀:「新底做分母,真数不变,原底变分子」

3.1 三底数互换速查表 ($\log_{10}, \ln, \log_2$)

转换方向 公式 近似系数 示例计算
$\log_{10} \to \ln$ $\ln x = \log_{10} x \times \ln 10$ $\times 2.302585$ $\ln 100 = 2 \times 2.3026 \approx 4.605$
$\ln \to \log_{10}$ $\log_{10} x = \frac{\ln x}{\ln 10}$ $\div 2.302585$ $\log_{10} e = 1 \div 2.3026 \approx 0.434$
$\log_2 \to \ln$ $\ln x = \log_2 x \times \ln 2$ $\times 0.693147$ $\ln 8 = 3 \times 0.6931 \approx 2.079$
$\ln \to \log_2$ $\log_2 x = \frac{\ln x}{\ln 2}$ $\div 0.693147$ $\log_2 10 = 2.3026 \div 0.6931 \approx 3.322$
$\log_{10} \to \log_2$ $\log_2 x = \frac{\log_{10} x}{\log_{10} 2}$ $\div 0.301030$ $\log_2 100 = 2 \div 0.3010 \approx 6.644$
$\log_2 \to \log_{10}$ $\log_{10} x = \log_2 x \times \log_{10} 2$ $\times 0.301030$ $\log_{10} 8 = 3 \times 0.3010 \approx 0.903$

3.2 常用常数速查

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 自然常数
ln(2) ≈ 0.69314718
ln(10) ≈ 2.30258509

# 常用对数
log₁₀(2) ≈ 0.30103000
log₁₀(e) ≈ 0.43429448

# 二进制对数
log₂(10) ≈ 3.32192809
log₂(e) ≈ 1.44269504

# 倒数关系(用于乘法替代除法,提高计算速度)
1/ln(2) ≈ 1.442695 (ln 转 log₂ 的乘数)
1/ln(10) ≈ 0.434294 (ln 转 log₁₀ 的乘数)
1/log₁₀(2) ≈ 3.321928 (log₁₀ 转 log₂ 的乘数)

四、特殊值与极限

4.1 常见特殊值表

$x$ $\log_{10} x$ $\ln x$ $\log_2 x$
1 0 0 0
2 0.30103 0.69315 1
$e$ 0.43429 1 1.44270
10 1 2.30259 3.32193
100 2 4.60517 6.64386
1000 3 6.90776 9.96578

4.2 极限与近似

公式 条件 应用示例
$\lim_{x \to 0^+} \log_a x = -\infty$ $a > 1$ $\log_{10}(0.001) = -3$
$\lim_{x \to +\infty} \log_a x = +\infty$ $a > 1$ $\log_2(1024) = 10$
$\log_a(1+x) \approx \frac{x}{\ln a}$ $x \to 0$ (小量近似) $\ln(1.01) \approx 0.01$

五、微积分相关公式

5.1 导数公式

函数 $f(x)$ 导数 $f’(x)$ 示例
$\ln x$ $\frac{1}{x}$ $\frac{d}{dx} \ln(5x) = \frac{1}{x}$
$\log_a x$ $\frac{1}{x \ln a}$ $\frac{d}{dx} \log_{10} x = \frac{1}{x \ln 10}$
$\log_a f(x)$ $\frac{f’(x)}{f(x) \ln a}$ $\frac{d}{dx} \ln(x^2+1) = \frac{2x}{x^2+1}$

5.2 积分公式

积分表达式 结果 验证
$\int \frac{1}{x} dx$ $\ln |x| + C$ $\int_1^e \frac{1}{x} dx = \ln e - \ln 1 = 1$
$\int \log_a x , dx$ $\frac{x \ln x - x}{\ln a} + C$ -
$\int x^k \ln x , dx$ $\frac{x^{k+1}}{k+1} \ln x - \frac{x^{k+1}}{(k+1)^2} + C$ $k \neq -1$

六、完整计算示例

示例 1:混合运算验证

题目:计算 $\log_2(100 \times \sqrt{10})$

解法 1:利用对数性质拆分
$$
\begin{aligned}
\log_2(100 \times \sqrt{10}) &= \log_2(100) + \log_2(10^{0.5}) \
&= \log_2(100) + 0.5 \times \log_2(10) \
&\approx 6.643856 + 0.5 \times 3.321928 \
&\approx 6.643856 + 1.660964 \
&\approx 8.304820
\end{aligned}
$$

解法 2:全转 $\ln$ 计算(换底公式)
$$
\begin{aligned}
\log_2(100 \times \sqrt{10}) &= \frac{\ln(100 \times \sqrt{10})}{\ln 2} \
&= \frac{\ln 100 + 0.5 \ln 10}{\ln 2} \
&= \frac{4.605170 + 0.5(2.302585)}{0.693147} \
&= \frac{5.756463}{0.693147} \
&\approx 8.304820
\end{aligned}
$$

验证:$2^{8.304820} \approx 316.227$,而 $100 \times \sqrt{10} \approx 316.227$。结果正确。


示例 2:算法复杂度转换

题目:将 $O(\log_2 n)$ 转换为以 10 为底的对数表示。

推导
$$ \log_2 n = \frac{\log_{10} n}{\log_{10} 2} \approx \frac{\log_{10} n}{0.301030} \approx 3.321928 \times \log_{10} n $$

结论
在算法复杂度分析(大 O 记号)中,常数倍数被忽略,因此:
$$ O(\log_2 n) = O(\log_{10} n) = O(\ln n) $$

实际应用
对于 $n = 1,000,000$ 的二分查找:

  • $\log_2 n \approx 19.93$ (约 20 次比较)
  • $\log_{10} n = 6$
  • 验证:$6 \times 3.321928 \approx 19.93$

示例 3:科学计数法与 pH 值

题目:已知 pH 定义为 $\text{pH} = -\log_{10}[H^+]$,求 $[H^+] = 2.5 \times 10^{-4} \text{ mol/L}$ 时的 pH 值。

计算
$$
\begin{aligned}
\text{pH} &= -\log_{10}(2.5 \times 10^{-4}) \
&= -(\log_{10} 2.5 + \log_{10} 10^{-4}) \
&= -(0.397940 - 4) \
&= -(-3.602060) \
&= 3.602060
\end{aligned}
$$

验证:$10^{-3.602060} \approx 2.5 \times 10^{-4}$。结果正确。


七、常见误区与避坑指南

❌ 错误写法 ✅ 正确写法 说明
$\log(a + b) = \log a + \log b$ $\log(a \times b) = \log a + \log b$ 对数对乘法分配,不对加法
$\log(a / b) = \log a / \log b$ $\log(a / b) = \log a - \log b$ 商的对数是对数之差
$\log(a^n) = (\log a)^n$ $\log(a^n) = n \times \log a$ 指数提到前面做系数
$\log(-x) = -\log x$ $\log(-x)$ 无定义(实数域) 真数必须 $> 0$
混淆 $\log$ 的底数 明确写出 $\ln, \log_{10}, \log_2$ 避免歧义,显式指定
$\log_0 x$ 或 $\log_1 x$ 底数必须 $> 0$ 且 $\neq 1$ 数学定义限制

八、速查速记卡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## 🔄 换底公式(背这个就够了!)
log_a(x) = log_b(x) ÷ log_b(a)

## 🔢 三底数转换系数
ln(2) ≈ 0.693147 | 1/ln(2) ≈ 1.442695
ln(10) ≈ 2.302585 | 1/ln(10) ≈ 0.434294
log₁₀(2) ≈ 0.301030 | 1/log₁₀(2) ≈ 3.321928

## 📐 运算法则口诀
• 积 → 和:log(MN) = log M + log N
• 商 → 差:log(M/N) = log M - log N
• 幂 → 积:log(M^k) = k × log M
• 根 → 除:log(ⁿ√M) = (1/n) × log M

## ⚡ 核心定义
y = log_a(x) <==> a^y = x

🎯 终极建议

  1. 代码中永远显式写清底数Log/Log10/Log2
  2. 换底时优先用乘法(预存倒数常数,如 $\times 1.442695$ 代替 $\div 0.693147$)
  3. 验证边界:$x \le 0$ 时对数无定义,需提前检查