gpt4 book ai didi

python - 不同的除法结果python

转载 作者:行者123 更新时间:2023-12-01 09:32:54 26 4
gpt4 key购买 nike

我的 python 3.6.3 中有一些奇怪的结果。一旦我尝试了一些代码,我就遇到了这个问题。

>>> a = 10**32
>>> print(a/1000/1000)
9.999999999999999e+25

正如你所见,它实际上并不正确,但如果我走其他路,我就会达到我的预期

>>> print(a/1000000)
1e+26

同样的事情

>>> 10**26
>>> 10**31

有人可以解释一下我出了什么问题吗?我尝试将其写在一行中没有结果

最佳答案

>>> a = 10**32
>>> a/1000/1000
9.999999999999999e+25

如您所知,Python 3 除法不再是整数除法(a//1000//1000 可以正常工作),因此您在这里执行 2 个浮点除法,引入一个(不必要的)浮点累积错误。

>>> a/1000000
1e+26

这只执行一次除法,因此即使结果现在是浮点,也可以降低浮点错误影响。

关于python - 不同的除法结果python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49801931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com