python 如何计算平方根?
how does python calculate square roots?
我注意到 python 中的平方根非常快。
import time
a = time.time()
print((1234567891011121314151617181920**8)**0.5)
d = time.time()-a
print(d)
输出:
2.32305723559e+120
0.0150001049042
这是一个 200 多位数的数字,不到 0.1 秒!
那么这一切背后的算法是什么?
在这种情况下,CPython 只是调用 C 内在函数 pow
,让编译器随心所欲地使用它。 How to: pow(real, real) in x86 是某处解释在处理器级别快速实现 pow
的一个示例。
我注意到 python 中的平方根非常快。
import time
a = time.time()
print((1234567891011121314151617181920**8)**0.5)
d = time.time()-a
print(d)
输出:
2.32305723559e+120
0.0150001049042
这是一个 200 多位数的数字,不到 0.1 秒!
那么这一切背后的算法是什么?
在这种情况下,CPython 只是调用 C 内在函数 pow
,让编译器随心所欲地使用它。 How to: pow(real, real) in x86 是某处解释在处理器级别快速实现 pow
的一个示例。