【发布时间】:2018-11-29 18:34:06
【问题描述】:
我正在尝试将一个字节的中间 4 位更改为对应于另一个字节的高半字节:
假设我们开始:
In = 0bABCDEFGH
Out = 0bXXXXXXXX // Some random byte
我想要:
Out = 0bXXABCDXX
保持Out 极端中的任何其他位不变。
我该怎么做?
注意:“X”代表任何位,0 或 1,只是为了区分来自输入的内容。
我必须:
(0b00111100 & (IN>>2)) = 0b00ABCD00
,它过滤高半字节并将其居中,但那又如何呢?如何将其移至Out?
【问题讨论】:
标签: c bit-manipulation