位运算
位运算是一种直接对二进制位进行操作的运算方式,效率高,常用于算法优化。基础位运算符
常用技巧
1. 判断奇偶性
2. 交换两个数(不用临时变量)
3. 判断第k位是否为1
4. 将第k位设为1
5. 将第k位设为0
6. 将第k位取反
7. 取出最低位的1
8. 去掉最低位的1
9. 判断是否为2的幂次
10. 计算二进制中1的个数
经典题目
LeetCode 136. 只出现一次的数字
**题目:**数组中除了一个数字出现一次外,其余都出现两次,找出只出现一次的数字。 **解法:**利用异或的性质:a ^ a = 0, a ^ 0 = aLeetCode 191. 位1的个数
LeetCode 231. 2的幂
LeetCode 338. 比特位计数
应用场景
- 状态压缩:用一个整数表示多个布尔状态
- 集合运算:用位运算实现集合的交、并、补
- 权限管理:用位表示不同权限
- 性能优化:位运算速度快,可替代乘除运算
