00问答网
所有问题
C语言为什么可以用&(与运算)来判断奇数偶数。 讲明原理,书上只举例了二进制的位逻辑运算?
原理是把十进制数换成二进制数,然后再判断吗?
#include"stdio.h"
main()
{
int x,y;
scanf("%d",&x);
y=x&1;
printf("%d\n",y);
}
举报该问题
推荐答案 2020-03-26
偶数
的最低比特为0,而奇数的最低比特为1。如果将一个数与1进行&运算,结果只会保留那个数的最低比特位,而其它位已清零。且结果只可能是0或1,如果是0那个数就是偶数,否则就是奇数。
拿你的代码举例,y=x&1;
if(y==0)
{
//x是偶数时要执行的代码
}
else
{
//x是奇数时要执行的代码
}
实际上可以更简单:
f(x&1)
{
//x是奇数时要执行的代码
}
else
{
//x是偶数时要执行的代码
}
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/jjInDT0jInee0enr0n.html
相似回答
大家正在搜
相关问题
error C2679: 二进制“=”: 没有找到接受......
如何学习C语言
C语言 运算符%是怎么运算的
C语言中的位运算有什么优点?
C语言位运算符,返回x中从第p位开始的n位
c语言中有没有能把一串数字中的奇数位和偶数位的数字提出来的代...
最近在学二进制与其他进制。 各位前辈能否介绍本专门用来熟悉进...
用C语言编译实现将2个16位二进制定点整数补码的加减运算及溢...