This question already has answers here:
How do you set, clear, and toggle a single bit?
(28个答案)
3年前关闭。
是否可以将位设为1时切换为0,设为0时切换为1?例如,
这也可以切换多个位,例如,如果您的掩码是
(28个答案)
3年前关闭。
是否可以将位设为1时切换为0,设为0时切换为1?例如,
00000000
通过该功能将00000001
,并且00000001
再次通过该功能时,00000001
将变为00000000
。可能吗? 最佳答案
当然。您想要的是对00000001
执行逻辑XOR(这称为掩码):
MASK INPUT OUTPUT
00000001 XOR 00000000 = 00000001
00000001 XOR 00000001 = 00000000
这也可以切换多个位,例如,如果您的掩码是
00001001
:MASK INPUT OUTPUT
00001001 XOR 00000000 = 00001001
00001001 XOR 00001001 = 00000000
00001001 XOR 00001000 = 00000001
00001001 XOR 00000001 = 00001000
10-06 07:05