numpy数据格式之int与uint的区别

整型分为有符号整型无符号整型,其区别在于无符号整型可以存放的正数范围比有符号整型大一倍,因为有符号整型将最高位存储符号,而无符号整型全部存储数字。

比如16位系统中的一个int能存储的数据范围位-32768-32768,而unsigned能存储的数据范围则是0-65535。

通俗解释就是 无符号整型中只有正数,他把负数用正数表示。

Python 示例

int 代表有符号,uint 代表无符号

import numpy as np 


# 有符号整型
a = np.int(10)
b = np.int(5)
print(a - b)        # 5
print(b - a)        # -5

# 无符号整型
a = np.uint(10)
b = np.uint(5)
print(a - b)        # 5
print(b - a)        # 4294967291
print((b - a).astype(np.float32))   # 这样并没有把无符号整型转换成有符号
原文地址:https://www.cnblogs.com/elitphil/p/14847253.html