对数

计算任意基数的对数

如何使用对数

  1. 1输入需要取对数的数字,并选择底数,如 10、e 或 2。
  2. 2选择自然对数、常用对数或自定义底数(若可用)。
  3. 3查看结果,即达到该数字所需的指数。

什么是对数

log_b(x) = y 表示 b^y = x

对数是乘方的逆运算:它告诉你底数要自乘到多少次幂才能等于该数字。

对数能把巨大的范围压缩成易处理的数字,这也是它出现在 pH、分贝和地震震级中的原因。

对数是指数的逆运算:logₐ(b) = c 等价于 aᶜ = b。三种常用底数各有分工:**log₁₀ 用于数量级**(pH 值、里氏震级、分贝都是它)、**ln(底数 e)用于连续增长模型**(复利、衰变、人口增长)、**log₂ 用于计算机科学**(二分查找复杂度、信息熵、算法分析)。

对数的强大之处在于**把乘除变成加减、把幂变成乘法**:log(xy) = log x + log y,log(xⁿ) = n·log x。在没有计算器的年代,这就是计算尺的原理。今天它依然重要:把跨度极大的数据(收入分布、地震能量、音频频率)取对数后画在图上,指数关系就会变成直线,规律一目了然。

xlog₂xlog₁₀xln x
1000
210.3010.693
e (2.718)1.4430.4341
103.32212.303
1006.64424.605
10009.96636.908
1024103.0106.931

常用对数数值速查

常见问题

ln 和 log 有什么区别?

ln 使用自然底数 e(约 2.718);log 在许多语境下指以 10 为底,但有些领域用 log 表示以 e 为底。

可以对零或负数取对数吗?

零或负数没有实数对数,因为那需要不可能的幂。

如何换底?

使用换底公式:log_b(x) = log_k(x) / log_k(b),k 可为任意方便的底数。

不同底数的对数怎么换算?

用换底公式:logₐ(b) = ln(b) / ln(a),或任意同底对数相除。例如 log₂(10) = ln(10)/ln(2) = 2.303/0.693 = 3.322。计算器通常只提供 ln 和 log₁₀ 两个键,算其他底数就要靠换底公式。

为什么对数在算法里经常出现?

因为「每次把问题规模减半」的操作次数就是 log₂n。二分查找在 10 亿个数据里找一个数只需 30 次比较(log₂(10⁹) ≈ 30),这就是 O(log n) 的威力。同理平衡树、归并排序、快速幂都含有对数项。数据翻倍时,log n 只增加 1——这是对数级增长最直观的特征。

更多工具