我是一个C语言小白,请问y=x>>3和y=|x怎么解释啊y=x>>3和y=|x是什么意思啊,希望能详细点int x=10,yy=x>>3;printf("%d",y);y=x&5;printf("%d",y);y=x|2;printf("%d",y);}这个程序我一点也不知道 , 求解释
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 09:47:00
![我是一个C语言小白,请问y=x>>3和y=|x怎么解释啊y=x>>3和y=|x是什么意思啊,希望能详细点int x=10,yy=x>>3;printf(](/uploads/image/z/3994162-34-2.jpg?t=%E6%88%91%E6%98%AF%E4%B8%80%E4%B8%AAC%E8%AF%AD%E8%A8%80%E5%B0%8F%E7%99%BD%2C%E8%AF%B7%E9%97%AEy%3Dx%3E%3E3%E5%92%8Cy%3D%7Cx%E6%80%8E%E4%B9%88%E8%A7%A3%E9%87%8A%E5%95%8Ay%3Dx%3E%3E3%E5%92%8Cy%3D%7Cx%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%E5%95%8A%2C%E5%B8%8C%E6%9C%9B%E8%83%BD%E8%AF%A6%E7%BB%86%E7%82%B9int+x%3D10%2Cyy%3Dx%3E%3E3%3Bprintf%28%22%25d%22%2Cy%29%3By%3Dx%265%3Bprintf%28%22%25d%22%2Cy%29%3By%3Dx%7C2%3Bprintf%28%22%25d%22%2Cy%29%3B%7D%E8%BF%99%E4%B8%AA%E7%A8%8B%E5%BA%8F%E6%88%91%E4%B8%80%E7%82%B9%E4%B9%9F%E4%B8%8D%E7%9F%A5%E9%81%93+%2C+%E6%B1%82%E8%A7%A3%E9%87%8A)
我是一个C语言小白,请问y=x>>3和y=|x怎么解释啊y=x>>3和y=|x是什么意思啊,希望能详细点int x=10,yy=x>>3;printf("%d",y);y=x&5;printf("%d",y);y=x|2;printf("%d",y);}这个程序我一点也不知道 , 求解释
我是一个C语言小白,请问y=x>>3和y=|x怎么解释啊
y=x>>3和y=|x是什么意思啊,希望能详细点
int x=10,y
y=x>>3;
printf("%d",y);
y=x&5;
printf("%d",y);
y=x|2;
printf("%d",y);
}
这个程序我一点也不知道 , 求解释
我是一个C语言小白,请问y=x>>3和y=|x怎么解释啊y=x>>3和y=|x是什么意思啊,希望能详细点int x=10,yy=x>>3;printf("%d",y);y=x&5;printf("%d",y);y=x|2;printf("%d",y);}这个程序我一点也不知道 , 求解释
y=x>>3和y=|x是什么意思啊,希望能详细点
int x=10,y
y=x>>3;//按位右移
printf("%d",y);
y=x&5;//按位与
printf("%d",y);
y=x|2;//按位或
printf("%d",y);
}
先把10化成二进制是1010 右移3位后是0001 因为1010的后三位被覆盖了 0001转换为二进制是1
其实按位右移 移一位相当于除以二 故移动三位答案是10/8=1
按位与把10化成二进制是1010 把1化成二进制是0001 所以按位与是0
按位或 把10化成二进制是1010 把0化成二进制0000 按位或 后是1010 所以是10