程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了x **。5或math.sqrt(x)中哪个更准确?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决x **。5或math.sqrt(x)中哪个更准确??

开发过程中遇到x **。5或math.sqrt(x)中哪个更准确?的问题如何解决?下面主要结合日常开发的经验,给出你关于x **。5或math.sqrt(x)中哪个更准确?的解决方法建议,希望对你解决x **。5或math.sqrt(x)中哪个更准确?有所启发或帮助;

哪一个都不是更准确的,它们都与实际答案在相等的部分上有所不同:

>>> (8885558**0.5)**2
8885557.9999999981
>>> sqrt(8885558)**2
8885558.0000000019

>>> 2**1023.99999999999
1.7976931348498497e+308

>>> (sqrt(2**1023.99999999999))**2
1.7976931348498495e+308
>>> ((2**1023.99999999999)**0.5)**2
1.7976931348498499e+308

>>> ((2**1023.99999999999)**0.5)**2 - 2**1023.99999999999
1.9958403095347198e+292
>>> (sqrt(2**1023.99999999999))**2 - 2**1023.99999999999
-1.9958403095347198e+292
http://mail.python.org/pipermail/python-List/2003-November/238546.HTML

**更完整。math.sqrt可能只是sqrt的C实现,它可能与有关pow。

解决方法

我最近发现,x**.5和math.sqrt(X)并不总是产生在Python相同的结果:

Python 2.6.1 (r261:67517,Dec 4 2008,16:51:00) [MSC v.1500 32 bit (Intel)]
on win32
>>> 8885558**.5 - math.sqrt(8885558)
-4.5474735088646412e-13

检查所有低于10 ** 7的整数,这两种方法几乎对精确到0.1%的样本产生了不同的结果,对于较大的数字,误差的大小(缓慢地)增加。

所以问题是,哪种方法更准确?

大佬总结

以上是大佬教程为你收集整理的x **。5或math.sqrt(x)中哪个更准确?全部内容,希望文章能够帮你解决x **。5或math.sqrt(x)中哪个更准确?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。