为什么Python会存储值0.0
的符号?在下面的示例中,minus_zero
和plus_zero
之间有什么区别吗?
>>> minus_zero = -.0
>>> plus_zero = +.0
>>> minus_zero
-0.0
>>> plus_zero
0.0
>>> minus_zero == plus_zero
True
>>> import math
>>> math.isclose(minus_zero, plus_zero)
True
>>> minus_zero
-0.0
>>> plus_zero
0.0
>>> math.fabs(minus_zero)
0.0
答案 0 :(得分:4)
atan2(),divmod()和math.copysign()函数对-0.0和+0.0的处理方式不同。
请参阅:https://en.wikipedia.org/wiki/Signed_zero
IEEE标准定义比较,以便+0 = -0,而不是-0 <+0。 当乘法或除法涉及带符号的零时,该符号将用于计算结果的符号。