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