二进制
位运算
符号
描述
运算规则
&
与
两个位都为1时,结果才为1
|
或
两个位都为0时,结果才为0
^
异或
两个位相同为0,相异为1
~
取反
0变1,1变0
<<
左移
高位丢弃,低位补0
>>
右移
正数左补0,负数左补1,右边丢弃
基本操作
a=a^0=0^a
0=a^a
a=a^b^b
交换两个数
a=a^b
b=a^b
a=a^b
移除最后一个 1
a=n&(n-1)
获取最后一个 1
diff=(n&(n-1))^n
Last updated
Was this helpful?