问题的方程式是:(-8) ** (-1/3)
。将其放入Python中,您将得到以下答案:
In [1]: (-8) ** (-1/3)
Out[1]: (0.25000000000000006-0.4330127018922193j)
这是错误的,答案应该是-0.5。但如果我把底片去掉,效果会很好。
In [2]: (8) ** (-1/3) * -1
Out[2]: -0.5
到底怎么回事?我在另外两个计算器(谷歌的搜索计算器和安卓、CalcES上的科学计算器)上测试了这一点,当输入为(-8) ** (-1/3)时,我犯了同样的错误。
发布于 2022-09-18 18:08:34
负数的浮动幂会给你一个复数。
(-8)**(-1/3)
(0.25000000000000006-0.4330127018922193j)
即使你把负号从电源中去掉,你也会得到一个复数:
(-8)**(1/3)
(1.0000000000000002+1.7320508075688772j)
如果我只做1.1,那么它也是一个复数
(-8)** (1.1)
(-9.367103334496456-3.043556370026835j)
如果您取8或任何其他数字,如果该数字是一个负数幂,它将产生一个复数,而不是整数。
请参阅以下链接:
https://math.stackexchange.com/questions/952663/negative-number-raised-to-fractional-power
https://stackoverflow.com/questions/73764937
复制相似问题