标签: bit-manipulation bitwise-operators simplify
我有if这样的声明:
if
if ((x & y) == y && (x & z) == 0) { /* do something... */}
是否可以简化此if语句,删除&&运算符并仅使用 按位运算符?
&&
答案 0 :(得分:2)
短等效表达式
(x & (y ^ z)) == y
通过查看单个位的所有8个结果可能最容易看到(这是足够的,因为每个位的结果独立于所有其他位)。