这个计算器能做什么
本工具可以计算任意正数 b 在任意有效底数 a 下的对数值。普通计算器通常只提供以 10 为底(log)和以 e 为底(ln)两种对数。借助换底公式,你可以计算任意底数的对数——计算机科学常用的以 2 为底、以 16 为底,或是你需要的任何自定义底数。
使用方法
输入底数 a(任意不等于 1 的正数)和数值 b(任意正数)。计算器会返回 \(\log_a(b)\),同时给出中间步骤的自然对数 \(\ln(b)\) 和 \(\ln(a)\),方便你核对计算过程。计算结果回答的就是这样一个问题:"a 要取多少次方才能得到 b?"
公式解析
换底公式为 $$\log_a(b) = \frac{\ln(b)}{\ln(a)}$$ 由于自然对数(或任意固定底数的对数)在所有科学计算器上都能直接得到,用 \(\ln(b)\) 除以 \(\ln(a)\) 就能把结果换算成以 a 为底的对数。如果改用以 10 为底的常用对数,结果完全相同:$$\log_a(b) = \frac{\log(b)}{\log(a)}$$ 无论选用哪种中间底数,这个比值都是一样的。
实例演示
假设你想求 \(\log_2(8)\)。代入公式:\(\ln(8) \approx 2.0794415\),\(\ln(2) \approx 0.6931472\),相除得到 $$\frac{2.0794415}{0.6931472} = 3$$ 这个结果是合理的,因为 \(2^3 = 8\)。再举一例:$$\log_5(125) = \frac{\ln(125)}{\ln(5)} = \frac{4.8283137}{1.6094379} = 3$$ 因为 \(5^3 = 125\)。
常见问题
为什么底数必须为正数且不能等于 1? 对数只对不等于 1 的正底数有定义。底数若为 1,则 \(\ln(a) = 0\),会导致除以零的错误。
b 可以是负数或零吗? 不可以。在实数范围内,非正数的对数没有定义,因此 b 必须大于 0。
用 ln 计算和用 log 计算,结果一样吗? 一样。无论比值中使用自然对数还是以 10 为底的常用对数,\(\log_a(b)\) 的结果都相同——中间底数的选择会在相除时相互抵消。