C语言程序填空 功能:输入两个整数,求他们的按位与。

#include<stdio.h>
void main()
{
int x,y,z=0,a,b,k=1;
scanf("%d,%d",&x,&y);
while(x>0&&y>0)
{
a=x%2;
/***********SPACE***********/
x=【?】;
b=y%2;
y=y/2;
/***********SPACE***********/
z=z+【?】;
k=k*2;
}
/***********SPACE***********/
【?】("z=%d\n",z);
}
请再帮我解释一下什么是"按位与",谢谢!

三个空分别填 : x/2 k*(a&&b) printf

按位与是将两个二进制数的对应位逐一地进行逻辑与操作。

与的运算规则是两个数只要有一个为0,则其逻辑与的结果就为0

举个例子你就明白了! 定义:a = 135 , b = 43

用二进制表示分别为:10000111 和 00101011

则 a 按位与 b 的值为 00000011 也就是 3

如对程序有疑问,可在线交谈!
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答