【发布时间】:2011-01-15 16:25:31
【问题描述】:
我正在寻找一种有效的 C 算法来按位转置 8 个字节的数据。我的意思是,如果我有 8 个这样的字节:
00011100
00111000
00000001
00000000
11000000
00000000
11111111
01010101
我想得到以下8个字节:
00001010
00001011
01000010
11000011
11000010
10000011
00000010
00100011
因为我想在嵌入式平台上使用它,所以它应该尽可能快:-)
非常感谢所有想法!
【问题讨论】:
-
这是什么意思?我看不到输入和所需输出之间的关系。您要使用简单的(256 字节)查找表吗?
-
@Richard:这是一个矩阵转置;行变成列,反之亦然。如果您读取结果的最左侧列,则它等于输入的第一行。由于有 64 个独立的输入位,因此查找表变得……很大。
-
列越来越多,反之亦然。
-
@Richard:正如 unwind 所说,查找表需要太大(64 * 8 字节)。虽然它会产生一个非常快速的解决方案!
-
我很想知道您要达到的目标。位图字体旋转?