0

此代码如何工作:

int a = 1;
int b = 10;

a |= b;

作品如何a |= b;?似乎|=不是 C 中的运算符?

4

7 回答 7

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

于 2013-04-22T15:26:55.457 回答
2

遵循以下模式,例如+=

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

也就是说,任何设置在a或中的位b都应设置在 中a,而设置在 中的位不应设置在 中a

于 2013-04-22T15:25:42.533 回答
2

这就是“按位或”相等。它遵循正等+=、负-=等等模式。

a |= b;是相同的a = a | b;

于 2013-04-22T15:25:52.737 回答
2

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

于 2013-04-22T15:25:53.027 回答
2

这是复合赋值运算符。它的含义是:

a = a | b;
于 2013-04-22T15:26:13.557 回答
2

这与

a = a | b;

+= -=与等方法相同

于 2013-04-22T15:26:16.950 回答
2

它是按位或运算符,并且

a |= b;

它与

a = a | b;
于 2013-04-22T15:26:31.390 回答