bitops – 二进制数据的低级操作例程

在这些板上可用
  • Adafruit Feather RP2040
  • Adafruit ItsyBitsy RP2040
  • Adafruit Macropad RP2040
  • Adafruit QT Py RP2040
  • Adafruit QT2040 Trinkey
  • Arduino Nano RP2040 Connect
  • Challenger RP2040 WiFi
  • Cytron Maker Pi RP2040
  • EncoderPad RP2040
  • Melopero Shake RP2040
  • Oak Dev Tech BREAD2040
  • Pimoroni Interstate 75
  • Pimoroni Keybow 2040
  • Pimoroni PGA2040
  • Pimoroni Pico LiPo (16MB)
  • Pimoroni Pico LiPo (4MB)
  • Pimoroni PicoSystem
  • Pimoroni Plasma 2040
  • Pimoroni Tiny 2040
  • PyKey60
  • Raspberry Pi Pico
  • SparkFun MicroMod RP2040 Processor
  • SparkFun Pro Micro RP2040
  • SparkFun Thing Plus - RP2040

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.

返回输出缓冲区。