#include <stdio.h>
void main ()
{
printf("0 & 0 is %d\n", 0 & 0);
printf("0 & 1 is %d\n", 0 & 1);
printf("1 & 1 is %d\n", 1 & 1);
printf("1 & 2 is %d\n", 1 & 2);
printf("15 & 127 is %d\n", 15 & 127);
}
为什么运行的结果为:
0 & 0 is 0
0 & 1 is 0
1 & 1 is 1
1 & 2 is 0
15 & 127 is 15
is后面的值怎么理解?
[此贴子已经被作者于2006-5-5 15:43:34编辑过]
----------------解决方案--------------------------------------------------------
位的操作而已,自己看书去!
----------------解决方案--------------------------------------------------------
已经明白了. 谢谢各位...
=======
按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
----------------解决方案--------------------------------------------------------
c语言中位去处符有&(位逻辑与) ,^(位逻辑异或),|(位逻辑或),~(位逻辑反)等,
位去处是对字节或字中实际二进制位进行检测,设置或移位。这些字节必须是char型,int型数据类型和它们的变体。
&位逻辑与,计算机执行时将操作数(二进制数)按对应的位进行与运算。
例如:0(十进制)&0(十进制)=0(二进制)&0(二进制)=0(二进制)=0(十进制)。
1(十)&2(十)=01(二)&10(二)=00(二)=0(十) 二进制中对应的位进行与运算。
15(十进制)&127(十进制)=00001111(二进制)&11111111(二进制)=00001111(二进制)=15(十进制)
----------------解决方案--------------------------------------------------------
~ >> & ^ | && || ?:
上面的符号依次结合性依次减弱,您记这个很有必要,顺便说下.
----------------解决方案--------------------------------------------------------
位的操作而已,自己看书去!
开始书还没有看到这一章. 所以不明白. 谢谢.
----------------解决方案--------------------------------------------------------
开始书还没有看到这一章. 所以不明白. 谢谢.
j是啊,现在的教科书上好多都没有位的运算,一般软考当中不会涉及这些东西,但等级考试就会有了。
国家的教育还有待…………!哎!!
----------------解决方案--------------------------------------------------------