【问题标题】:Negative Number power infinity is not giving correct when Using 'float'使用“浮点数”时,负数幂无穷大不正确
【发布时间】:2019-12-31 15:19:47
【问题描述】:

这是应该返回“-inf”的 2 个代码,但第 2 个代码只给出“inf”。任何机构都可以帮助我为什么会发生这种情况

>>> -2**float('inf')

-inf

>>> float(-2)**float('inf')

inf

【问题讨论】:

  • 试试(-2)**float('inf')...
  • 这不是问题,我们需要解释一下为什么float(-2)**float('inf')inf
  • @mishsx 然后 OP 应该编辑问题的内容和标题以匹配它。
  • @Adam.Er8 Can any body help me why this is happening... 表示你需要解释一下

标签: python python-3.x floating-point infinity


【解决方案1】:

查看 Python 的 operator precedence table** 在一元 - 之前进行评估。

所以-2**float('inf')-(2**float('inf')) 这是-(inf) 这是-inf

(-2)**float('inf') 也是 inf 就像 float(-2)**float('inf')

【讨论】:

  • 你对第二部分不清楚。也不要忘记括号有更高的优先级。你还是没有答案
  • 通常的约定是 pow(x, +∞) 为 |x| 返回 +∞ > 1. 其基本原理大概是任何足够大的浮点数都表示一个 偶数 整数,因此大于任何大的有限浮点数的 +∞ 应该以相同的方式处理.
猜你喜欢
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
相关资源
最近更新 更多