无符号和有符号数的numpy和成为浮点数

时间:2017-05-04 17:02:47

标签: python numpy

为什么答案是浮点数?我认为它应该是一个整数。

>>> import numpy as np
>>> np.uint64(12)
12
>>> np.uint64(12) + int(4)
16.0
>>> 

1 个答案:

答案 0 :(得分:1)

基于最近的reddit post

这是Numpy函数设计为返回整个输入数据范围的一致值的方式。

16位无符号和有符号整数都适合int32,因此

>>> np.uint16(4) + np.int16(5)
9

但是对于uint64和int64,适合所有可能值的最小数据类型是float64。