标签: c++ c c++11
为什么表达式n&1 == 0总是返回false,其中n是整数?
n&1 == 0
false
n
我想使用按位运算来确定n是否为偶数。但是,它总是返回false。 (clion还提示我它总是返回false)。
更重要的是,当我使用n&1 != 0确定n是否为奇数时,它会起作用。
n&1 != 0
答案 0 :(得分:19)
因为运营商的优先权。
==的优先级高于&运算符,因此1 == 0首先计算为0.然后执行逐位AND,最终返回false。
==
&
1 == 0