Neo's Blog

不抽象就无法深入思考
不还原就看不到本来面目!

0%

位运算系列-分类索引

位操作

关于位操作,你一定要知道的

位操作的常见技巧

第一个需要掌握的技巧是n & (n - 1),通过该操作我们可以让n的最后一个1变为0

第二个需要掌握的技巧是lowbit(n) = n & (-n) ,lowbit操作可以让我们获取到n的低位。

第三个需要知道的是二进制表示下不进位,例如:XOR又称作不进位加法。

第四个技巧在于 n XOR 1成对变换。

最后,掌握二进制位状态压缩的常见操作

操作 运算 说明
取出n的第k位 n & (1 << k) n & (00010000)
取出n的后k位 n & (1 << k) - 1 n & (00011111)
n的第k位取反 n xor (1 << k) n xor 00010000
n的第k位置1 n | (1 << k) n | 000010000
n的第k位置0 n & ~(1 << k) n & 1111101111

位操作相关的经典题目

题目分类 题目名称 考察点 其他说明
比特位计数
找到序列中仅出现一次的数字 位操作-XOR操作
该数二进制表示中1的个数 位操作-找1
通过位运算来实现加法 XOR技巧
你的支持是我坚持的最大动力!