按位异或:设置 X 位
Bitwise XOR: Setting X bit
我对如何解决这个问题有点困惑。
我在某处读到
n ^ (1 << x)
会解决的。我可以看到有关其工作原理的图解说明吗?
假设我们使用 8 位数字首先你从 1
开始
二进制文件看起来像这样
00000001
然后使用<<
运算符将操作数的位移动x
位
如果x = 4
00001000 ( 16 in decimal, 0x10 in hexadecimal )
然后对结果操作数使用 ^
运算符 (xor)
输入n=8
(00000100
)
结果
00000100
xor 00001000
= 00001100
PS: xor
会 翻转 位 未设置 它,如果你想设置它无论初始状态如何,使用 or
运算符 (|
)
我对如何解决这个问题有点困惑。
我在某处读到
n ^ (1 << x)
会解决的。我可以看到有关其工作原理的图解说明吗?
假设我们使用 8 位数字首先你从 1
二进制文件看起来像这样
00000001
然后使用<<
运算符将操作数的位移动x
位
如果x = 4
00001000 ( 16 in decimal, 0x10 in hexadecimal )
然后对结果操作数使用 ^
运算符 (xor)
输入n=8
(00000100
)
结果
00000100
xor 00001000
= 00001100
PS: xor
会 翻转 位 未设置 它,如果你想设置它无论初始状态如何,使用 or
运算符 (|
)