寻找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 次。