Python中的两种不同的浮点溢出

时间:2017-02-13 14:24:17

标签: exception floating-point overflow

我正在测试python中计算(1e308)**2(1e308)*2。我希望这两个

  1. 产生溢出,或
  2. 均产生inf
  3. 但是,(1e308)**2会显示溢出异常,(1e308)*2会返回inf而不会触发任何异常。他们为什么表现不同的任何解释?谢谢。

    In [98]: 1e308**2
    ---------------------------------------------------------------------------
    OverflowError                             Traceback (most recent call last)
    <ipython-input-98-29e84f241b45> in <module>()
    ----> 1 1e308**2
    
    OverflowError: (34, 'Result too large')
    
    In [99]: 1e308*2
    Out[99]: inf
    

0 个答案:

没有答案