n00*_*123 1 c bit-manipulation bitwise-operators
以下条件在 C 中有效检查了什么:
if(a & (1<<b))
Run Code Online (Sandbox Code Playgroud)
我一直在绞尽脑汁,但我找不到模式。有什么帮助吗?我也看到这在竞争性编程中使用了很多,谁能解释一下何时以及为什么使用它?
它正在检查是否设置了b第 1 位a。
1<<b将移位单个设置位b时间,以便仅b设置第 th位中的一位。
然后&将执行按位和。因为我们已经知道设置在 中的唯一位1<<b,要么设置在 中a,在这种情况下我们得到1<<b,或者不是,在这种情况下我们得到0。
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |