将新值放入大 Python 位数组的一部分

Placing a new value into a section of a big Python bitarray

使用 Python 2.7 和位数组 0.8.1 来保存几个序列化的寄存器值(寄存器的长度可以是 16 到 512 字节)。 我想为这个位数组的特定部分设置一个值?

例如:

from bitarray import bitarray
BYTE = [False, False,False, False, False, False, False, False]
reg = bitarray(512*BYTE, endian='big')

如何将值 0xaa 设置为 reg 的 2048:2055 位?

使用切片分配。

bin_of_aa = "{:b}".format(0xaa)
reg[2048:2055] = bitarray(bin_of_aa,endian="big")