numpy-数据格式之 int 与 uint

mac2022-06-30  18

概念

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

# 1 1110000101010101111 有符号整型 最高位 代表符号 # 1 1110000101010101111 无符号整型 最高位 代表数字

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

 

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

 

在一些不可能取值为负数的时候,可以定义为unsigned,在一些底层的嵌入式编程的数据一般都是无符号的。

 

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://baike.baidu.com/item/无符号整型/6717424?fr=aladdin

转载于:https://www.cnblogs.com/yanshw/p/11338459.html

最新回复(0)