【发布时间】:2019-06-17 07:32:16
【问题描述】:
我偶然发现了 np.float32 或 np.float64 的地板除法结果,我不明白
我在 Python 3.6.7 中使用 numpy 1.15.4
>>> import numpy as np
>>> np.float32(0)//1
-0.0
我知道,我可以通过 abs() 等解决方法,但为什么我首先得到的是“-0.0”而不是“0.0”??
【问题讨论】:
-
@DDS 我不能 100% 确定这解决了 OP 的问题。
-
@DDS 该链接没有解释这样一个事实,即香草 Python 等效于
0.0//1 == 0.0而不是-0.0。 -
@ScottBoston 它是相关的,但我认为这并不能解释为什么
(+0.0) // 1 == -0.0... 尤其是考虑到 NumPy 会发生这种情况,但 Python 浮点值不会发生这种情况。
标签: python python-3.x numpy floor-division