[This is preliminary documentation and subject to change]
Performs a bitwise AND on the value of a variable and the value of an expression and assigns the result to the variable.
result &= expression
result
Any variable.
expression
Any expression.
Using this operator is exactly the same as specifying:
result = result & expression
The &= operator looks at the binary representation of the values of result and expression and does a bitwise AND operation on them. The output of this operation behaves like this:
0101 (result)
1100 (expression)
----
0100 (output)
Any time both of the expressions have a 1 in a digit, the result has a 1 in that digit. Otherwise, the result has a 0 in that digit.