最大浮点数,系数为2

时间:2015-10-13 13:03:07

标签: python floating-point

我正在练习python并尝试找到可以通过python显示的因子为2的最大浮点数。

我尝试了以下代码,但它没有运行。任何人都可以建议这个bug在哪里吗?

a=2.
b=1.
infinity = float("inf")
while a < infinity:
    b=a*2.
    if b > infinity:
        break
    if b < infinity:
        a=b*2.
    if a > infinity:
        break

if a < infinity:
    print a
elif b < infinity:
    print b

1 个答案:

答案 0 :(得分:4)

没有大于无穷大的数字,因此if b > infinity:将永远不会为真。尝试将其更改为if b == infinity:,您的程序将根据需要终止。

此外,如果您只使用一个变量,则可以稍微简化您的脚本:

a = 1.0
while True:
    if a*2 == float("inf"):
        break
    a *= 2
print a