对数计算器
用换底公式计算任意底对数,支持 ln / lg / log₂ 快捷方式、指数式与对数式互转、常用对数表与精度设置。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
10
对数式:log₂(1024) = 10
同一个关系 b^x = n 的两种写法,数值会按当前精度四舍五入
由底数与指数求真数,验证两式互逆
| 真数 n | ln n | lg n | log₂ n |
|---|---|---|---|
| 1 | 0 | 0 | 0 |
| 2 | 0.69314718 | 0.30103 | 1 |
| 3 | 1.09861229 | 0.47712125 | 1.5849625 |
| 4 | 1.38629436 | 0.60205999 | 2 |
| 5 | 1.60943791 | 0.69897 | 2.32192809 |
| 10 | 2.30258509 | 1 | 3.32192809 |
| 100 | 4.60517019 | 2 | 6.64385619 |
| 1000 | 6.90775528 | 3 | 9.96578428 |
| 0.1 | -2.30258509 | -1 | -3.32192809 |
| 0.5 | -0.69314718 | -0.30103 | -1 |
| e | 1 | 0.43429448 | 1.44269504 |
这个工具能做什么
- 算任意底的对数:底数不是 e / 10 / 2 时用换底公式 log_b(n) = ln n / ln b,不用自己按计算器两遍相除。
- 算法复杂度时快速确认 log₂:输入 1024 得到 10,对应二分查找 1024 个元素需要 10 次比较这类结论。
- 做指数式与对数式的互转练习:给出底数和真数就同时得到 log_b(n) = x 与 b^x = n 两种写法,再由底数与指数反推真数,验证两式互逆。
- 查常用对数表:一次性列出 1、2、3、4、5、10、100、1000、0.1、0.5、e 的 ln、lg、log₂ 值,精度可调到 0–12 位小数。
示例
输入
真数 n = 1024,底数 b = 2
输出
log₂(1024) = 10 指数式:2^10 = 1024
底数为 e / 10 / 2 时直接走 Math.log / log10 / log2,避免 Math.log(1000) / Math.log(10) 算出 2.9999999999999996 这类二进制残差。
常见问题
为什么底数和真数有取值范围限制?
对数要求真数 n > 0、底数 b > 0 且 b ≠ 1。输入 0、负数、底数 1 或 e 之外的非数字都会直接报错,而不是返回 -Infinity 或 NaN 这类静默错误值。
结果会有浮点误差吗?
常见底数(e、10、2)走对应的 Math.log 实现,结果通常是精确的;其它底数用换底公式,会带一点浮点误差。展示前会按你设的精度四舍五入,并补一个极小的修正量,避免 2.9999999999999996 被舍成 3.0 之前先被判成 2.9999999999。
精度能设多高?
0 到 12 位小数。但 JavaScript 的 number 是双精度浮点,只有约 15–17 位有效数字,超过 12 位小数得到的「精度」是假的,所以上限卡在 12。
结果超出可表示范围是什么意思?
由底数和指数求真数(b^x)时,如果结果超过 1.8e308 会变成 Infinity,或小到变成 0,工具会直接报错而不是显示 Infinity。想算大数请用任意精度计算器。
计算过程会被上传吗?
不会。全部计算在浏览器本地用 JavaScript 完成,不发网络请求,断网可用。
关键词:logarithm对数loglnlglog2换底公式change of baseexponential form指数式