<分区>
仅使用按位和逻辑运算,如何在 C 中检测 x 的任何位是否等于 1?没有循环、if/else、== 或 !=
有人提出 (x & ~0) && 1,但我已经看了好几个小时了,仍然不知道 (x & ~0) && 1 如何检测 x 的任何位是否等于 1
<分区>
仅使用按位和逻辑运算,如何在 C 中检测 x 的任何位是否等于 1?没有循环、if/else、== 或 !=
有人提出 (x & ~0) && 1,但我已经看了好几个小时了,仍然不知道 (x & ~0) && 1 如何检测 x 的任何位是否等于 1
最佳答案
!!x
会做到这一点。
这会将所有值转换为 1,但 0 除外,它保持为 0。编译器可以对此进行智能优化。
关于c - 我如何在 C 中找到 x 的任何位是否等于 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21591904/