1.基础位运算
&:有0就是0
|:有1就是1
^:相同为0,相异为1/无进位相加
2.给定一个数n,确定它的二进制中的第x位是0还是1
让n右移x为与1按位与
3.将一个数n的二进制表示的第x位修改为1
让1左移x位,再或等上n
4.将一个数n的二进制表示的第x位修改为0
让1左移x位,取反之后,再与等上n
5.位图的思想
6.提取一个数n二进制表示的最右侧的1
n&(-n)
7.干掉一个数n二进制表示的最右侧的1
n&(n-1)
对应题目链接:
191:191. 位1的个数 - 力扣(LeetCode)
338:338. 比特位计数 - 力扣(LeetCode)
461:461. 汉明距离 - 力扣(LeetCode)
8.位运算优先级
能加括号就加括号
9.异或运算的运算律
- 1.a^0=a
- 2.a^a=0
- 3.a^b^c=a^(b^c)
对应题目链接:
136:136. 只出现一次的数字 - 力扣(LeetCode)
260:260. 只出现一次的数字 III - 力扣(LeetCode)