Python中的固定宽度整数类型(例如uint32)

Python中的固定宽度整数类型(例如uint32),python,integer,fixed-width,Python,Integer,Fixed Width,某些数学运算,特别是从硬件驱动程序读取的数据,可能取决于数据类型的固定宽度。示例:按位移位。创建具有固定宽度的整数变量(如uint32、int16等)的python方法是什么?它会相应地溢出/移位?我建议使用库。该库中的类按以下约定命名: [Mutable][U]Int<N> 这支持诸如位移位之类的事情 >>> a = fixedint.UInt32(14) >>> a UInt32(14) >>> a << 2 U

某些数学运算,特别是从硬件驱动程序读取的数据,可能取决于数据类型的固定宽度。示例:按位移位。创建具有固定宽度的整数变量(如uint32、int16等)的python方法是什么?它会相应地溢出/移位?

我建议使用库。该库中的类按以下约定命名:

[Mutable][U]Int<N>
这支持诸如位移位之类的事情

>>> a = fixedint.UInt32(14)
>>> a
UInt32(14)
>>> a << 2
UInt32(56)
>a=fixedint.UInt32(14)
>>>a
UInt32(14)

>>>a对于与硬件的接口,我们通常使用
struct
标准库-特别是
struct.pack
struct.unpack
不仅处理固定宽度问题,而且处理持久性问题。请参阅或图书馆手册。

图书馆就在那里。它们处理典型的位篡改和位集操作!谢谢我认为这是一个应该成为答案的评论。这也是一个需要记住的有用的包。谢谢另一个选项是,它还支持浮点值和自定义类型别名。
>>> a = fixedint.UInt32(14)
>>> a
UInt32(14)
>>> a << 2
UInt32(56)