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
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.