可以说我有一个像0x448
. 在二进制中,这是0100 0100 1000
.
如何使用逐位运算将位 1、2 和 3 设置为全 0 或全 1?当我说前三个时,我将最右边的位视为零位。
所以,例如
位为 1:
b12 b0
0100 0100 1110
^^^
位为 0:
b12 b0
0100 0100 0000
^^^
我猜想将它们设置为 1 我使用按位或掩码为 14 (0x000e)?但如果是这种情况,我该如何做类似的事情来清除这些位?
有关的:
- 如何在 C 中设置、清除和切换单个位?(语法不同,但操作相同)