*使用python x2
我的作业要求我设置:eps = 2. ** - 52 然后,eps的输出变为:2.2204e-16
(1。+ eps - 1. = 2.2204e-16)#expected
(1。+ eps / 2。 - 1. = 0.0)#what?
我的作业只是问我在第二个等式中发生了什么。我已经为花车试验了不同的sigfigs,并审查了资源,但仍然不明白。任何帮助非常感谢!
答案 0 :(得分:0)
(1 + eps/2.0) - 1 = 0.0
因为eps/2.0
太小而无法与1一起正确表示(称为吸收或取消)
在运行Python的典型计算机上,Python浮点数有53位精度可用。如果你想进一步,Python将消除最小的部分,以便可以正确表示数字。
在这种情况下,1“胜出”(1“吸收”eps/2
),然后减去1,你得到0。