python的定宽整数及其计算

uint的Python项目详细描述


单位CICoverage Status

python的固定宽度整数和计算

$ pip install uint

python的固定宽度整数

uint提供了两个类:UintInt。它们的计算方式类似于int,但宽度是固定的,因此它们的行为方式类似于您熟悉的……就像C语言一样。

In [1]: from uint import Uint, Int

In [2]: u, i = Uint(0xff, 8), Int(0xff, 8)

In [3]: u
Out[3]: <uint8, value=255>

In [4]: i
Out[4]: <int8, value=-1>

In [5]: u << 2 >> 1
Out[5]: <uint8, value=126>

In [6]: i << 2 >> 1
Out[6]: <int8, value=-2>

当然,当您喜欢时,它们会溢出:

In [1]: from uint import Uint, Int

In [2]: u, i = Uint(0xff, 8), Int(0x7f, 8)

In [3]: u, i
Out[3]: (<uint8, value=255>, <int8, value=127>)

In [4]: u+1, i+1
Out[4]: (<uint8, value=0>, <int8, value=-128>)

在多个字段中注册

该软件包的初衷是减少在多个mcu和soc中计算“寄存器值”的工作量。有关详细用法,请参见examples目录。

In [1]: from uint import Register

In [2]: reg = Register('reg')

In [3]: reg[15:8] = 'f1'

In [4]: reg[7:0] = 'f2'

In [5]: reg['f1'] = 0x5A

In [6]: reg['f2'] = 0x0F

In [7]: hex(reg.encode())
Out[7]: '0x5a0f'

In [8]: reg.decode(0x1234)

In [9]: reg['f1'].value.wire.hex
Out[9]: "8'h12"

In [10]: reg['f2'].value.wire.hex
Out[10]: "8'h34"

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java打印报告使Apache无响应   java如何在Gson中设置字段名(如果它是值)?   java从不同类的数组中获取元素   playframework迁移到2.4后在playframework中运行测试时出错。x(Java)   java Play框架1。使用@AllowFeature控制器方法进行x功能测试   java远离子对象:从继承中删除受保护的字段   将空函数作为参数传递给java函数   java IntelliJ IDEA找不到生成的配置元数据文件   java如果页面在过去24小时内没有更新,我无法通过Google Sites API获取页面条目   CheckedChangeListener上的java切换按钮,将首选项始终保存为空   可比Java:使用CollatorKey对集合进行排序   java如何在html中单击链接时传递一定数量的数据?   arraylist列表<MyModel>。包含(MyModel)java不工作   java使用一种方法将组件添加到数组中,如何实现?   java Android RecyclerView First and Last Item click在双击首次加载后生效   java如何获取mongodb数据库名,其中connect client在4中定义。x驱动程序   java Spring数据jpa,jpa替换DTO对象的字符串的正向返回列表   java找不到明确的意图,安卓   如何检查Java类中的每个变量是否都包含Null?