2015-08-28 77 views

回答

2

假设我们有8位数字的工作首先你1

开始这将是这样的二进制

00000001 

然后使用<<操作员通过x

操作数的位移位

if x = 4

00001000 (16 in decimal, 0x10 in hexadecimal) 

然后使用^操作(XOR)与所得到的操作数

输入n=800000100

结果

 00000100 
xor 00001000 
    = 00001100 

PS:xor倒装未设置它,如果您想要将其设置为初始状态,请使用or运算符(|

+0

因此,按位运算符在1 << x的左边用零填充,然后执行XOR? –

+1

我建议你阅读[维基百科关于它的文章](https://en.wikipedia.org/wiki/Bitwise_operation#Bit_shifts),当然这是位移运算符最常见的实现。 – dvhh