此代码如何工作:
int a = 1;
int b = 10;
a |= b;
作品如何a |= b;
?似乎|=
不是 C 中的运算符?
它像 | + = 运算符,其工作方式与 += 类似。
它相当于
a = a|b;
我建议你阅读这篇关于运算符的文章:http ://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Bitwise_operators 这篇关于按位运算 的文章http://en.wikipedia.org/wiki/Bitwise_operation
遵循以下模式,例如+=
:
a |= b;
// Means the same thing as:
a = a | b;
也就是说,任何设置在a
或中的位b
都应设置在 中a
,而设置在 中的位不应设置在 中a
。
这就是“按位或”相等。它遵循正等+=
、负-=
等等模式。
a |= b;
是相同的a = a | b;
表达式a |= b;
等价于表达式a = a | b;
。
这是复合赋值运算符。它的含义是:
a = a | b;
这与
a = a | b;
+=
-=
与等方法相同