2015-08-28 64 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