位进制
O(1)判断2的幂取mod
cpp
int modPowerOfTwo(int x, int mod) { return x & (mod - 1); }判断是否是2的幂
cpp
bool isPowerOfTwo(int n) { return n > 0 && (n & (n - 1)) == 0; }遍历二进制的全部子集
cpp
//降序
for (int s = m; s; s = (s - 1) & m)遍历所有掩码的子掩码
cpp
//复杂度:O(3^n)
for (int m = 0; m < (1 << n); ++m)
// 降序遍历 m 的非空子集
for (int s = m; s; s = (s - 1) & m)
// s 是 m 的一个非空子集