请问与运算&里面0与0是等于0还是等于1呢?

教程里面说是等于1。 可是这个题目里面:10010001(二进制)&11110000(二进制)等于:10010001(二进制)这里0与0是等于0的啊。 请问是是不是教程上说错了???谢谢大家解惑。

0与0的结果是0,教材中出错了。与运算的运算规则是0&0=0;  0&1=0;   1&0=0;    1&1=1;即:两位同时为“1”,结果才为“1”,否则为0。

按位与运算 按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只要对应的二个二进位都为1时,结果位就为1。参与运算的两个数均以补码出现。 例如:3&10可写算式如下: 00000011&00001010 00000010 十进制2。

扩展资料:

位运算

整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。

& 按位与, | 按位或 , ^ 按位异或

AND (位与&) OR ( 位或| ) XOR ( 位异或^ )

1 & 1 = 1, 1 | 1 = 1, 1 ^ 1 = 0

1 & 0 = 0, 1 | 0 = 1, 1 ^ 0 = 1

0 & 1 = 0, 0 | 1 = 1, 0 ^ 1 = 1

0 & 0 = 0, 0 | 0 = 0, 0 ^ 0 = 0

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-22

0与0的结果是0,教材中出错了。与运算的运算规则是0&0=0;  0&1=0;   1&0=0;    1&1=1;即:两位同时为“1”,结果才为“1”,否则为0。

例如:3&5  即 0000 0011& 0000 0101 = 00000001  因此,3&5的值得1。你给出的题目里面也符合这个规则。可以把与运算看成是两个串联的开关,开关闭合为1,开关断开为0,只有当两个串联的开关同时闭合,即同时为1时,电器才能工作,也就是运算结果才为1。

扩展资料:

其实按位与运算有许多的简单应用,比如清零、取指定位上的数等等,以下是按位与运算的应用举例。

1、清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。

2、取一个数中指定位。方法是找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。如取10101110的低4位,用 X & 0000 1111 = 00001110 即可得到。

3、用于消去x的最后一位的1。将数x和(x-1)按位与,可消去x的最后一位的1。可以检测整数n是否是2的幂次。仔细剖析发现,N如果是2的幂次,N的二进制表示中只有一个1,所以使用N&(N-1)将唯一的一个1消去。如果N是2的幂次,那么N&(N-1)得到结果为0。

参考资料来源:

本回答被网友采纳
第2个回答  2013-03-07
“&“ 是逻辑"与"的符号,是乘的关系,0 * X (X,任意数) = 0 ,0 * 0 = 1 是印刷错误。
第3个回答  推荐于2017-12-15
你好:为您提供精确解答

教材印刷错误,0与0相与为0.

谢谢,不懂可追问本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网