我相信这是因为我不理解在不同精度的浮点数之间进行强制转换的工作原理,但有人能解释一下为什么在32位和64位表示中,该值被强制转换为比其真实值少3吗?
>>> a = np.array([83734315])
>>> a.astype('f')
array([ 83734312.], dtype=float32)
>>> a.astype('float64')
array([ 83734315.])
我相信这是因为我不理解在不同精度的浮点数之间进行强制转换的工作原理,但有人能解释一下为什么在32位和64位表示中,该值被强制转换为比其真实值少3吗?
>>> a = np.array([83734315])
>>> a.astype('f')
array([ 83734312.], dtype=float32)
>>> a.astype('float64')
array([ 83734315.])