一句话理解
判断第 k 位是否为 1:看 x & (1<<k)。
为什么要学
读状态压缩里的每一位。
讲解
非 0 即该位为 1。写清楚括号。k 从 0 开始。
例子
bool on = (x & (1 << k)) != 0;
掩码只有第 k 位是 1,与完只留下这一位。
常见错误
- 1<<k 溢出。
- k 从 1 开始却用 1<<k 当第 k 个开关(差一)。
第 218 课
判断第 k 位是否为 1:看 x & (1<<k)。
读状态压缩里的每一位。
非 0 即该位为 1。写清楚括号。k 从 0 开始。
bool on = (x & (1 << k)) != 0;
掩码只有第 k 位是 1,与完只留下这一位。
x & (1<<k) 非 0 表示第 k 位为 1。
Ctrl / ⌘ + Enter 运行 · Tab 缩进
左右方向键也可翻课