C语言中二进制操作
&
:按位“与”
|
:按位“或”
^
:按位“异或”
~
:取反
>>
:右移
<<
:左移
一些技巧
n&(n-1)
去掉最右边的一个“1”,配合左右移等使用,可用来 统计“1”的个数,判断给定数字是否为2的幂,清零等等。如:
231. Power of Two
201. Bitwise AND of Numbers Range
&
:按位“与”
|
:按位“或”
^
:按位“异或”
~
:取反
>>
:右移
<<
:左移
n&(n-1)
去掉最右边的一个“1”,配合左右移等使用,可用来 统计“1”的个数,判断给定数字是否为2的幂,清零等等。如:
231. Power of Two
201. Bitwise AND of Numbers Range