当整数n是偶数时,表达式n&1 == 0总是返回false。我想使用位运算来判断n是否为偶数。然而,它总是返回false(clion也提示我总是返回false)。更重要的是,当我使用n&1 != 0来判断n是否为奇数时,它是有效的。
n&1 == 0
false
n&1 != 0
这是因为运算符优先级的问题。==运算符的优先级比&运算符高,所以首先将1 == 0计算为0。然后进行按位与运算,最终返回false。
要解决这个问题,我们可以使用括号来明确运算的顺序。将代码改为(n & 1) == 0即可确保正确的运算顺序。
用户名或邮箱地址
密码