在Delphi中操作字节变量的位

HHH*_*HHH 5 delphi byte bits

我使用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?.