此代码如何运作:
int a = 1;
int b = 10;
a |= b;
a |= b;
如何运作?好像|=
不是C中的运算符?
答案 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;
即,a
或b
中设置的任何位都应设置为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)