在Delphi中操作字节变量的位

时间:2013-06-11 14:52:33

标签: delphi byte bits

我使用delphi逐字节地从.txt文件中提取数据。对于每个字节,我需要交换该字节的开始和结束位。我一直在谷歌搜索几个小时但我找不到有关在delphi中操作字节变量内的位的任何参考。有什么想法吗?

1 个答案:

答案 0 :(得分: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?