Bitwise OR Assignment Operator (|=)
Performs a bitwise OR on the value of a variable and the value of an expression and assigns the result to the variable.
result |= expression
Arguments
result
Any numeric variable.expression
Any numeric expression.
Remarks
Using this operator is almost the same as specifying result = result | expression, except that result is only evaluated once.
The |= operator coerces the arguments to matching data types. Then the |= operator looks at the binary representation of the values of result and expression and does a bitwise OR operation on them. The result of this operation behaves like this:
0101 (result)
1100 (expression)
----
1101 (output)
Any time either of the expressions has a 1 in a digit, the result has a 1 in that digit. Otherwise, the result has a 0 in that digit.