我使用delphi逐字节地从.txt文件中提取数据.对于每个字节,我需要交换该字节的开始和结束位.我一直在谷歌搜索几个小时但我找不到有关在delphi中操作字节变量内的位的任何参考.有任何想法吗?
LU *_* RD 10
b := (b and $7E) or (b shr 7) or (b shl 7);
Run Code Online (Sandbox Code Playgroud)
首先,我们保持中间的6位,然后在寄存器移位操作中交换MSB和LSB位.
Delphi中的位操作很有趣.有很多选择,这是一个直接的解决方案.David提出了一种LUT解决方案,它可以更快(尽管只有一点点).
关于比特反映整个字节有一个有趣的类似问题,请参阅How can I bit-reflect a byte in Delphi?.