C语言x&1什么意思

Python026

C语言x&1什么意思,第1张

从命令的角度讲,是将x的每一bit(2进制中的1和0都占一个bit)与0001的每一bit做与运算.

"&"是"与运算"的意思,1&1=1,其他情况(1&0,0&1,0&0)都=0.

从逻辑的角度来讲,这个命令就是取x的最左边一位.例如x是0011,x&1得到0001,如果x是0110,x&1得到0000.

x&1是判断x是奇数还是偶数,如果x是奇数那么x&1的值就是true,如果x是偶数那么x&1的值就是false

这是因为&是将两者的二进制进行比较,如果是两者在某位都是1,那就是真,反之为假。

所以x&1的如果要为真,则x的二进制的2的0次方位一定要为1,所以要是奇数就是真,否则为假。