为什么 Microsoft Excel 7 认为 8^(-1^(-8^7))) = 8,而 Wolfram Alpha 却认为它等于 1/8?
如果我用 -2097152.0 代替 -8^7,结果是一样的。
现在 -1 的任何幂都是 -1。因此 -1^(-8^7) = -1。而 8^-1=1/8。Excel
错了。
试试看吧!
答案1
Excel 和 Wolfram Alpha 在解析涉及指数运算和一元减法的表达式时具有不同的优先规则。
- x ^ y
Excel 将一元减法视为具有更高优先级并首先执行该操作,对表达式求值如下:
( - x ) ^ y
Wolfram Alpha 首先进行指数运算,对表达式求值如下:
- ( x ^ y )
答案2
问题在于,在 Excel 中,减号用于表示减法运算符和一元符号。这很容易说明。在A1进入:
=-1^(ROW())
并抄下来:
翻转正/负表示 Excel 将减号视为一元并将此公式视为:
=(-1)^(ROW())
现在B1进入:
=0-1^(-ROW())
并抄下来:
缺少翻转表明 Excel 将减号视为减法运算符并将此公式视为:
=0-(1^(-ROW()))
当然,用户始终可以使用括号来控制优先级。
编辑#1:
答案3
Wolfram Alpha 这样做:
-(1 -2097152)= -(1)= -1
8 -1 = 1 / 8
另一方面,Excel 会这样做:
(-1)-2097152 = 1
8 1 = 8
确实,Excel 错了 - 它应该先求幂,然后求负数。试试这个公式:=8^(-(1^(-8^7)))
现在 -1 的任意次方都是 -1
作为var firstName 已经指出,这是不正确的。但是,-1 N = -1 对任何数都是正确的N
- 同样,因为您应该先求幂,然后求负数。
答案4
这是不正确的。-1^2 是 1。但是,-1 的任何奇数次方都是 -1;这是正确的。使用完全合理的逻辑,您可以说 8^(-1^(-8^7))。-8 ^ 7 = -2,097,152,偶数;因此,-1^(-2,097,152) 是 1/(-1^(2,097,152)),简化为 1/1 或简单来说1,而 8^1 是 8。您对 WolframAlpha 的输入在某些方面存在缺陷。
编辑:我在 Wolfram 上进行了计算,结果发现你输入错了。你应该将 -1 从基数中进一步分离出来,如下所示:
8^( (-1)^(-8^7) )
Wolfram 向我吐出了以下内容(与我的输入相同):
8^((-1)^(-8^7))