对数计算器
输入真数与底数即可计算对数 log_b(x),支持常用对数 lg、自然对数 ln、log₂ 与任意底数;能算尽给精确值(如 log₂8=3、log₄2=1/2),否则给可调精度近似值,并附 b^结果=x 验算。
必须大于 0(0 与负数没有实数对数)。
lg 以 10 为底、ln 以 e 为底、log₂ 以 2 为底;其它底数选「自定义」。
仅在结果为无理数或无限循环小数时生效。
以 2 为底的对数 log 8 等于 3,这是精确值(即 2^3 = 8)。
怎么用
- 输入真数 x:在「真数」框填要取对数的那个数(必须大于 0),例如 8、1000 或 0.25。真数就是 log 后面的那个数。
- 选底数 b:用按钮选底数:lg 表示以 10 为底(常用对数)、ln 表示以 e 为底(自然对数)、log₂ 以 2 为底;其它底数选「自定义」后填入大于 0 且不等于 1 的数(如 3、5、0.5)。
- 选小数位数:若对数算不尽(如 lg2、ln2),用下方按钮选近似值要保留的小数位数(2/4/6/10/15/20 位);能算尽时直接给精确值,该设置不影响结果。
- 读结果:工具立即给出对数值:能算尽显示精确值(如 log₂8=3、log₄2=1/2),否则显示四舍五入近似值,并附上 b^结果=x 的验算,便于核对。
核心要点
对数计算器按 log_b(x)(以 b 为底 x 的对数)的定义计算:它是乘方的逆运算, 回答「b 的几次方等于 x」,即 b^y = x ⇔ log_b(x) = y。
- 常用对数 lg(以 10 为底):
lg1000 = 3。 - 自然对数 ln(以 e 为底):
ln e = 1。 - log₂(以 2 为底):
log₂8 = 3。 - 任意底数:用换底公式
log_b(x) = ln x / ln b计算。
原理与公式
对数(logarithm)是乘方的逆运算。若 b^y = x(b > 0 且 b ≠ 1,x > 0),则称 y 为以 b 为底 x 的对数,记作 y = log_b(x)。其中 b 是底数、x 是真数、y 是对数值。例如 2³ = 8 ⟹ log₂8 = 3。
三种常见底数
常用对数 lg x = log₁₀ x(以 10 为底);自然对数 ln x = logₑ x(以 e≈2.71828 为底); 计算机科学常用以 2 为底 log₂ x。不标底数的 log 在不同场合可能指 lg 或 ln。
换底公式
任意底数都能用一个已知底换算:log_b(x) = log_k(x) / log_k(b), 常取 k = e 或 10,即 log_b(x) = ln x / ln b = lg x / lg b。 例如 log₂10 = lg10 / lg2 = 1 / 0.30103 ≈ 3.3219。本工具的任意底数 就用高精度换底实现。
对数运算律
log_b(MN) = log_b M + log_b N(积化和);log_b(M/N) = log_b M − log_b N(商化差);log_b(Mⁿ) = n·log_b M(幂降次);log_b b = 1、log_b 1 = 0。
定义域限制
真数 x 必须大于 0(0 和负数在实数范围内没有对数);底数 b 必须大于 0 且不等于 1。本工具会对非法的真数或底数给出提示。
能否算尽:当真数恰为底数的有理数次幂时给精确值(log₂8 = 3、log₄2 = 1/2、lg0.001 = −3), 本工具用大整数(BigInt)有理运算精确判定 x = b^(p/q) 是否成立; 否则对数为无理数或无限循环小数(lg2 ≈ 0.30103),只能取近似。
精度:近似值用高精度十进制运算(decimal.js,约 40 位有效数字) 计算后再四舍五入到所选位数,避免浮点误差;所有计算在浏览器本地完成。
常见问题
- 对数是什么?log_b(x) 怎么读、怎么理解?
- 对数是乘方(指数)的逆运算。log_b(x) 读作「以 b 为底 x 的对数」,它回答的问题是:底数 b 要做几次方才能得到 x。也就是说,若 b^y = x,则 log_b(x) = y。例如 2³ = 8,所以 log₂8 = 3;10² = 100,所以 lg100 = 2。这里 b 叫底数(必须大于 0 且不等于 1)、x 叫真数(必须大于 0)、结果 y 就是对数。本工具输入真数与底数即可算出对数,并给出 b^结果=x 的验算。
- lg、ln、log 有什么区别?log₂ 又是什么?
- 它们的区别只在底数:lg 是常用对数,以 10 为底(lg100 = 2);ln 是自然对数,以 e≈2.71828 为底(ln e = 1);log₂ 以 2 为底,在计算机里很常用(log₂1024 = 10);写成 log 而不标底数时,在不同教材里可能指 lg(中学/工程)或 ln(高等数学),需看上下文。本工具用按钮区分 lg / ln / log₂ / 自定义底数,避免歧义。
- 为什么真数必须大于 0?log0、负数的对数为什么不存在?
- 因为对数是乘方的逆运算:log_b(x)=y 意味着 b^y = x。当底数 b 为正数时,无论 y 取什么实数,b^y 永远是正数,永远到不了 0 或负数。所以在实数范围内,0 和负数没有对数:lg0、lg(−5) 都无意义(log0 可看作趋于负无穷的极限,但不是一个具体的数)。本工具会对真数 ≤ 0 给出提示。负数的对数要到复数范围才有定义。
- 底数为什么不能等于 1,也不能是负数?
- 底数若为 1,则 1 的任何次方都等于 1,方程 1^y = x 只有 x=1 时成立、且 y 取任意值,无法唯一确定对数,所以底数不能为 1。底数若为 0 或负数,b^y 在实数范围内不能连续地取到所有正数(如 (−2)^0.5 不是实数),也无法定义对数。因此对数要求底数 b > 0 且 b ≠ 1。本工具会对不合法的底数给出提示。
- 没有这个底数的对数键怎么算?换底公式是什么?
- 用换底公式:log_b(x) = ln(x) / ln(b) = lg(x) / lg(b),即用任意一个你会算的底(常用 e 或 10)把对数转换过来。例如计算 log₂10,可算 lg10 / lg2 = 1 / 0.30103 ≈ 3.3219,或 ln10 / ln2 同样得 3.3219。本工具支持任意底数,内部正是用高精度的换底计算实现的,你无需手动换底。
- log₂8 = 3 这种能算出整数,但 lg2 为什么只能取近似值?
- 当真数恰好是底数的整数次幂(或有理数次幂)时,对数是「算得尽」的精确值:log₂8 = 3(因为 2³=8)、lg1000 = 3、log₄2 = 1/2(因为 4^½=2)。而 lg2、ln2、log₂5 等多数对数是无理数,写成小数无限不循环,只能取近似(lg2 ≈ 0.30103)。本工具用大整数有理运算判定 x 是否恰为 b 的某个 p/q 次幂(不靠四舍五入后的浮点猜测),能算尽就给精确分数/小数,否则用高精度十进制(约 40 位有效数字)计算再四舍五入到你选的位数。
- 常用的对数值有哪些可以记?
- 常用对数 lg:lg1=0、lg10=1、lg100=2、lg1000=3、lg0.1=−1,估算时常记 lg2≈0.301、lg3≈0.477、lg5≈0.699(=1−lg2)。自然对数 ln:ln1=0、ln e=1,常记 ln2≈0.693、ln10≈2.303。以 2 为底:log₂2=1、log₂8=3、log₂1024=10、log₂0.5=−1。本工具能直接算出这些值并验算,也方便你核对记忆。
- 对数有哪些运算性质?在实际中有什么用?
- 核心性质(均要求真数为正):log_b(MN)=log_bM+log_bN(积化和)、log_b(M/N)=log_bM−log_bN(商化差)、log_b(Mⁿ)=n·log_bM(幂降次)、log_b b=1、log_b1=0。它把乘除幂运算降为加减乘,因此广泛用于:分贝(声音/增益)、pH 值、地震里氏震级、信息熵与 bit 数、复利与翻倍时间(n=ln2/ln(1+利率))、对数坐标图等。涉及乘方与增长可配合指数计算器、复利计算器使用。