为什么"n&1 == 0"总是返回false?

Jun*_*Gor 8 c c++ c++11

为什么表达式n&1 == 0总是返回false,哪里n是整数?

我想使用按位运算来确定是否n是偶数.但是,它总是返回false.(克里昂也促使我总是回来false).

更重要的是,它n&1 != 0用于确定是否n奇怪.

Qui*_*oNa 19

这是因为运营商的优先权.

==优先级高于&运算符,因此1 == 0首先将其计算为0.然后执行逐位AND,最终返回false.