为什么在 python 中查找 epsilon 的迭代算法几乎需要大约 0 秒

  • 本文关键字:算法 迭代 python epsilon 查找 python
  • 更新时间 :
  • 英文 :


寻找python epsilon(没有任何库)我编码:

import time
start = time.time()
x=1.0
while 1+x/2 != 1.0:
    x/=2.0
print x
print time.time() - start

我得到输出:

2.22044604925e-16
5.79357147217e-05

我不认为回答丝毫时间只是因为那么快

看看timeit模块。它非常适合评估运行时间很短的代码:

import timeit
def algorithm():
    x=1.0
    while 1+x/2 != 1.0:
        x/=2.0
    #print x  # disabled so i don't get 100,000 prints
timeit.timeit(algorithm, number=100000) # 100,000 times!

输出(对我来说):

0.95662535660580161

双精度二进制浮点格式

有效精度:53 位(显式存储 52 位)

如果添加循环计数器,您将看到它仅执行 52 次。

最新更新