当前位置: 代码迷 >> C语言 >> [求助]怎么理解Prinf语句中的内容?
  详细解决方案

[求助]怎么理解Prinf语句中的内容?

热度:225   发布时间:2006-05-05 15:43:00.0
[求助]怎么理解Prinf语句中的内容?

#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编辑过]

搜索更多相关的解决方案: Prinf  语句  printf  

----------------解决方案--------------------------------------------------------

位的操作而已,自己看书去!


----------------解决方案--------------------------------------------------------

已经明白了. 谢谢各位...
=======

按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。


----------------解决方案--------------------------------------------------------
c语言中位去处符有&(位逻辑与) ,^(位逻辑异或),|(位逻辑或),~(位逻辑反)等,
位去处是对字节或字中实际二进制位进行检测,设置或移位。这些字节必须是char型,int型数据类型和它们的变体。
&位逻辑与,计算机执行时将操作数(二进制数)按对应的位进行与运算。
例如:0(十进制)&0(十进制)=0(二进制)&0(二进制)=0(二进制)=0(十进制)。
1(十)&2(十)=01(二)&10(二)=00(二)=0(十) 二进制中对应的位进行与运算。
15(十进制)&127(十进制)=00001111(二进制)&11111111(二进制)=00001111(二进制)=15(十进制)

----------------解决方案--------------------------------------------------------
~  >>  &  ^  |  &&  ||  ?:
上面的符号依次结合性依次减弱,您记这个很有必要,顺便说下.
----------------解决方案--------------------------------------------------------
以下是引用soft_wind在2006-5-5 15:50:00的发言:

位的操作而已,自己看书去!

开始书还没有看到这一章. 所以不明白. 谢谢.
----------------解决方案--------------------------------------------------------

以下是引用xsimon在2006-5-5 17:03:00的发言:

开始书还没有看到这一章. 所以不明白. 谢谢.

j是啊,现在的教科书上好多都没有位的运算,一般软考当中不会涉及这些东西,但等级考试就会有了。
国家的教育还有待…………!哎!!
----------------解决方案--------------------------------------------------------