C语言中:&= 与等于, |=或等于,这两个表达式表示啥意思呢?

如题所述

答案:

a&=b; == a=a&b;

a|=b; == a=a|b;

运算说明:

1、op=的运算符是C语言中一大类运算符,所有的op=形式运算符,写作a op= b时,均等效于a=a op b;

2、几乎所有的双目运算符,均有和赋值合并的op=运算符,包括+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=等;

3、使用op=运算符,比使用a=a op b的形式要高效。

4、位运算操作时,操作数参与运算是逐位运算的,对应的每位进行运算并形成结果的对应位。

5、&按位与运算规则为两个操作数相同位上的值均为1,那么结果的该位上值为1, 否则为0。

6、|按位或运算规则为两个操作数相同位上的值均为0,那么结果的该位上值为0, 否则为1。

符号说明:

    &&是和运算,A   && B用来测试A和B两个条件是不是都成立。

    !是非运算,!A 取A的相反。

    !的优先级大于 &&,也就是!先运算。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-12
a&=b,就是将a与b做按位“与”运算,结果赋值给a,也就相当于a=a&b;
a|=b就是将a,b 做按位”或“运算,结果给a,相当于a=a|b
第2个回答  2012-04-12
a&=b; == a=a&b;
a|=b; == a=a|b;本回答被提问者采纳
第3个回答  2017-05-17
a&=b相当于a=a&b,a|=b相当于a=a|b。
具体说明如下:
1、op=的运算符是C语言中一大类运算符,所有的op=形式运算符,写作a op= b时,均等效于a=a op b;
2、几乎所有的双目运算符,均有和赋值合并的op=运算符,包括+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=等;
3、使用op=运算符,比使用a=a op b的形式要高效。
另外,&和|这两个操作符,在C语言中为位运算,其中&为按位与,|为按位或。
1、位运算操作时,操作数参与运算是逐位运算的,对应的每位进行运算并形成结果的对应位;
2、&按位与运算规则为两个操作数相同位上的值均为1,那么结果的该位上值为1, 否则为0;
3、|按位或运算规则为两个操作数相同位上的值均为0,那么结果的该位上值为0, 否则为1。
相似回答