一、基础位操作:单个比特位的判断与修改
| 功能 | 用途 | 位运算表达式 | 原理 |
|---|---|---|---|
| 判断第 \(i\) 位是否为 \(1\)(元素 \(i\) 是否在集合中) | 检查状态中是否包含某个元素(如 “城市 i 是否已访问”“任务 i 是否已完成”) | (mask & (1 << i)) != 0 |
\(1 << i\) 生成 “第 \(i\) 位为 \(1\)、其余为 \(0\)” 的掩码,与原 mask 按位与,结果非 \(0\) 则说明第 \(i\) 位为 1。 |
一、基础位操作:单个比特位的判断与修改
| 功能 | 用途 | 位运算表达式 | 原理 |
|---|---|---|---|
| 判断第 \(i\) 位是否为 \(1\)(元素 \(i\) 是否在集合中) | 检查状态中是否包含某个元素(如 “城市 i 是否已访问”“任务 i 是否已完成”) | (mask & (1 << i)) != 0 |
\(1 << i\) 生成 “第 \(i\) 位为 \(1\)、其余为 \(0\)” 的掩码,与原 mask 按位与,结果非 \(0\) 则说明第 \(i\) 位为 1。 |