bitops
– 二进制数据的低级操作例程¶
在这些板上可用
-
bitops.
bit_transpose
(input: _typing.ReadableBuffer, output: _typing.WriteableBuffer, width: int = 8) → _typing.WriteableBuffer¶ 通过将每个输出字节与从每个
width
不同输入字节中获取的位组合在一起来“转置”缓冲区。这对于将像素值序列转换为适合通过并行转换方法发送的单个字节流非常有用。
输入缓冲区中的字节数必须是宽度的倍数,宽度可以是 2 到 8 之间的任何值。如果宽度小于 8,则将输出的剩余(不太重要的)位设置为零。
让. 然后第一个字节由 的最高有效位组成。第二个字节由第二位组成,依此类推,直到第 8 个输出字节由 的第一位组成。
stride = len(input)//width
[input[0], input[stride], input[2*stride], ...]
input[1], input[1+stride, input[2*stride], ...]
.所需的输出缓冲区大小为.
len(input) * 8 // width
.返回输出缓冲区。