python计算负功率奇怪的结果



有人知道为什么波纹管计算的输出返回不同的结果,因为它应该相同。

(-0.99)**(-0.99)

返回(-1.0095011228760993-0.03172485085856595j)

-0.99**-0.99

返回-1.0099994966583417

好的,所以让我们组装在其他地方的部分答案,也提供更完整的上下文。

首先,这些应该是等效表达式的前提是不正确的。 -x**y不是 (-x)**y,而是 -(x**y)

诚然,这很奇怪。如果您在纸上写-2,则可能将-视为数字的一部分,而不是可以质疑其优先级的操作员。但是,如果您写-2 2 说这是-4是标准的,而(-2) 2 当然是4。

这是有关该主题的文章:链接

无论如何,这是为什么它们不同样的表达方式的简短答案。鉴于此,这只是理解每个表达的问题。

-.99**-.99

可以写

-1 * (.99**-.99)
-1 / (.99**.99)

然后可以读取.99至第99个功率的"百分之一的根",然后是通过痛苦的计算进行的问题。

另一方面,

(-0.99)**(-0.99)

也可以简化,但最终我们将均匀地扎根负数。因此答案必须是一个复杂的数字。


(-0.99)**(-0.99) yields a complex number, while -0.99**-0.99 yields a float.

最新更新