为什么numpy.multiply对大整数给出错误的结果?

时间:2020-06-18 19:08:32

标签: python numpy integer

为什么

np.multiply( np.array(100000) , np.array(100000) )

给出141006540​​8这是不正确的,但

100000*100000给出10000000000正确吗?

我知道使用非整数100000可以正常工作,但是为什么对整数乘以错误的结果呢?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

不是np.multiply而是np.array会给您带来错误的结果:您有32位整数系统,这是一个溢出。试试:

 np.multiply( np.array(100000, dtype=np.int64) , np.array(100000, dtype=np.int64) )