幂运算 / 开方计算器
两个面板:幂运算算 x^y(支持负数次方),开方求平方根、立方根与任意 n 次方根。负数的奇次开方也能算(如 ∛(-27) = -3),偶次根的负数会明确提示。
平方立方向来好算,真正的坑藏在负数里:负数能开奇次方根,偶次方根在实数里根本不存在,很多程序还会在这里悄悄返回一个错误值。这一页把幂和开方分成两个面板,负数的奇次根照算,偶次根无解时明说,不会被 NaN 糊弄。
口径提醒:负数的偶次根在实数范围内无解(√(−4) 无实数解),本工具明确提示而不是给 NaN;负数的奇次根有唯一实数解(∛(−27) = −3),但 Math.pow(−27, 1/3) 在 JS 里会返回 NaN——必须用 −Math.pow(27, 1/3) 的写法,本工具已正确处理。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 幂面板:填底数与指数(支持负指数与小数指数)。
- 开方面板:填被开方数与根指数(2、3 或任意 n)。
- 负数奇次根正常出解;偶次根负数明确提示无实数解。
- 复制结果;复利、几何均值等场景按需选幂或根。
计算原理与示例
幂运算
幂运算:输入底数与指数。2^10 = 1024;负底数同样支持,(-2)³ = -8,(-2)² = 4。
平方、立方快捷键
平方 / 立方快捷键:点「x²」「x³」按钮把指数设为 2 或 3,不用手动输入。
开方运算
开方:输入被开方数与根指数。√2 ≈ 1.4142135624;∛(-27) = -3;-16 开 4 次方根无实数解,会提示超出定义域。
代码示例
JavaScript 负数开奇次根的正确写法
function nthRoot(x, n) {
if (x < 0 && n % 2 === 1) return -Math.pow(-x, 1 / n); // 奇次根
if (x < 0) return NaN; // 偶次根无实解
return Math.pow(x, 1 / n);
}
nthRoot(-27, 3); // -3(Math.pow(-27, 1/3) 会得 NaN)
nthRoot(16, 4); // 2
Math.pow(2, -2); // 0.25(负指数 = 倒数)
Python 负数开方 Python 的坑
(-27) ** (1 / 3) # 复数!Python 3 返回复数
# 正确实数解:
import math
-math.pow(27, 1 / 3) # -3.0
math.copysign(abs(-27) ** (1 / 3), -27) # 通用写法
# 偶次根负数:math.sqrt(-4) 抛 ValueError(明确报错)
常见问题
负数可以开平方吗?
实数范围内不行:任何实数的平方都非负,所以 √(-4) 没有实数解(结果为虚数 2i,超出本工具范围)。但负数可以开奇次方根,如 ∛(-8) = -2。
大数会溢出吗?
结果超过 JavaScript 安全表示范围时(如 10^400)会提示超出定义域,常规学习与工程场景(10^300 以内)都能正常计算。
指数可以是小数或负数吗?
都可以。2^0.5 等价于 √2 ≈ 1.4142;2^-2 = 0.25。小数指数在数学上等价于开方运算。
幂运算的运算法则有哪些?
同底数幂相乘指数相加(a^m · a^n = a^(m+n)),相除指数相减,幂的乘方指数相乘((a^m)^n = a^(mn)),积的乘方可分配到各因子((ab)^n = a^n · b^n)。注意 (a + b)^n ≠ a^n + b^n。
平方根和立方根有什么区别?
平方根求「哪个数自乘等于它」(√9 = 3),负数没有实数平方根;立方根求「哪个数自乘三次等于它」(∛27 = 3),负数也有实数立方根(∛(−8) = −2)。偶次根要求被开方数非负,奇次根则没有这个限制。
0 的 0 次方等于多少?
数学上无统一定义,通常视为「未定义」;但在组合数学的二项式展开和多数编程语言中约定为 1(如 JavaScript 的 Math.pow(0, 0) 返回 1)。这类边界值建议按上下文约定处理。
分数指数和根式怎么对应?
a^(1/n) = ⁿ√a,a^(m/n) = ⁿ√(a^m)。例如 8^(2/3) = ∛(8²) = ∛64 = 4。分数指数的分母是开方的次数、分子是被开方数的幂次,这样就把幂运算和开方统一成了一种写法。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。