我正在使用 delphi 逐字节从 .txt 文件中提取数据。对于每个字节,我需要交换该字节的开始位和结束位。我已经在谷歌搜索了几个小时,但我找不到任何关于在 delphi 中操作字节变量内部位的参考。有任何想法吗?
问问题
1068 次
1 回答
10
b := (b and $7E) or (b shr 7) or (b shl 7);
首先我们保留中间 6 位,然后在寄存器移位操作中交换 MSB 和 LSB 位。
Delphi 中的位操作很有趣。有很多选择,这是一个直接的解决方案。David 提出了一个 LUT 解决方案,它可以更快(虽然只有一点点)。
有一个关于位反射整个字节的有趣的类似问题,请参阅How can I bit-reflect a byte in Delphi?
。
于 2013-06-11T15:08:42.243 回答