delphi - 在 Delphi 中操作字节变量的位

标签 delphi byte bit

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

最佳答案

b := (b and $7E) or (b shr 7) or (b shl 7); 

首先保留中间 6 位,然后在寄存器移位操作中交换 MSB 和 LSB 位。

Delphi 中的位操作很有趣。 有很多选择,这是一个直接的解决方案。 David 提出了一种可以更快的 LUT 解决方案(不过只有一点点)。

有一个关于位反射(reflect)整个字节的有趣的类似问题,请参阅 How can I bit-reflect a byte in Delphi? .

关于delphi - 在 Delphi 中操作字节变量的位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047176/

相关文章:

delphi - 如何统计字符串中某个字符出现的次数?

c++ - 使用 Asio::read 读取单字节

header - PE 最多可以有多少个部分?

C 位操作逻辑(bitAnd)

php - 找到最高设置位

memory - 为什么可以存储的最小值是字节(8位)而不是位(1位)?

delphi - 从 Delphi 组件捕获 WM_COPYDATA

delphi - 通过选项卡标题或选项卡名称隐藏选项卡

android - 滚动 TVertScrollBox 时防止触发事件

java - 字节数据类型的默认格式