gpt4 book ai didi

python - 两个相同值的差不为零

转载 作者:行者123 更新时间:2023-12-01 01:20:45 27 4
gpt4 key购买 nike

当我在 python 中比较两个数字时,即使它们完全相同,这两个数字之间的差异也不是零,而是很小(<10^(-16))。

例如

if A == B:
print('We are the same')

什么也没发生。但是:

if A - B < 10^(-16):
print(A-B)

它打印差异。

问题出在哪里?

最佳答案

在 Python 中,^ 运算符执行异或,因此 10^(-16) 表示 10 XOR (- 16),它正确返回 -6(低于 A-B)。
如果您想执行求幂,则必须编写 10**(-16),您的检查现在可以按预期工作。

这意味着您的代码应该是:

if A - B < 10**(-16):
print(A-B)

# OUTPUT: 0

关于python - 两个相同值的差不为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53868166/

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