如何在不使用"%"的情况下检查C中的变量(int)是否为偶数(即非奇数)。运营商? 我在linux平台上运行。
谢谢。
答案 0 :(得分:9)
if (!(v & 1))
应该适用于偶数
答案 1 :(得分:3)
使用AND
尝试按位0x01
检查最后一位二进制数字是0还是1。
如果是0则是偶数,而在1的情况下则是奇数。
答案 2 :(得分:0)
只是提供一个替代答案,而不是更好......你可以使用以下比较来检查int
是否是(可被2整除),其中asd
应为int
:
asd == asd / 2 * 2; //returns 1 (true) if asd is even