# Bitwise AND Assignment Operator (&=)

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

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