我注意到python中的平方根非常快。
import time
a = time.time()
print((1234567891011121314151617181920**8)**0.5)
d = time.time()-a
print(d)
输出:
2.32305723559e+120
0.0150001049042
这是一个超过0.1秒的200多位数字!
那么这个算法背后的算法是什么?
答案 0 :(得分:4)
在这种情况下,CPython只是调用C内在pow
,让编译器随心所欲地执行任何操作。 How to: pow(real, real) in x86是解释在处理器级别快速实现pow
的某个示例。