“| =”运算符在C中的含义是什么?

时间:2013-04-22 15:24:04

标签: c operator-keyword

此代码如何运作:

int a = 1;
int b = 10;

a |= b;

a |= b;如何运作?好像|=不是C中的运算符?

7 个答案:

答案 0 :(得分:3)

它的作用类似于| + =运算符,与+ =工作方式类似。

等同于

a = a|b;

我建议你阅读有关运营商的这篇文章:http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Bitwise_operators 回答这个关于按位操作的问题 http://en.wikipedia.org/wiki/Bitwise_operation

答案 1 :(得分:2)

遵循例如+=

的模式
a |= b;
// Means the same thing as:
a = a | b;

即,ab中设置的任何位都应设置为a,而设置为a的任何位都不应设置为{{1}}。

答案 2 :(得分:2)

那是“按位或”相等。它遵循加号等于+=,减去等于-=等等的模式。

a |= b;a = a | b;

相同

答案 3 :(得分:2)

表达式a |= b;等同于表达式a = a | b;

答案 4 :(得分:2)

这是复合赋值运算符。 它有意义:

a = a | b;

答案 5 :(得分:2)

这与

相同
a = a | b;

+= -=

相同

答案 6 :(得分:2)

它是bitwise OR operator

a |= b;

相同
a = a | b;