位运算

原理

以下0s 表示一串 0,1s 表示一串 1。

x ^ 1s = ~x

将一个数的位级表示翻转

x ^ x = 0

将三个数中重复的两个数去除,只留下另一个数。

x & 0s = 0 和 x & 1s = x

实现掩码操作

x | 0s = x 和 x | 1s = 1s

设值操作

n & (n-1)和n-(n & (-n))

去除 n 的位级表示中最低的那一位 1

n & (-n)

得到 n 的位级表示中最低的那一位 1