二进制

位运算

符号

描述

运算规则

&

两个位都为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?