按位转置8个字节

Arn*_*ard 15 c embedded

我在C中寻找一种有效的算法来按位转换8字节的数据.我的意思是,如果我有8个这样的字节:

00011100
00111000
00000001
00000000
11000000
00000000
11111111
01010101
Run Code Online (Sandbox Code Playgroud)

我想获得以下8个字节:

00001010
00001011
01000010
11000011
11000010
10000011
00000010
00100011
Run Code Online (Sandbox Code Playgroud)

由于我想在嵌入式平台上使用它,它应该尽可能快:-)

所有的想法都非常感谢!

Joh*_*ski 21

参见Hacker's Delight,第7-3章.

  • @vicatcu 例如,如果您需要在一个字节宽的 I/O 端口上输出 8 个串行数据流,这非常有用。 (2认同)