#
`%=`

(remainder assign) operator

The right-associative, binary infix `%=`

operator takes the remainder of it's
left-hand operand with respect to its right-hand operand and updates
the left-hand operand with the result.

## Usage

```
variable Integer num = 10;
num %= 2; // half num
```

## Description

### Definition

The `%=`

operator is defined as follows:

```
lhs = lhs.remainder(rhs)
```

except that `lhs`

is evaluated only once.

See the language specification for more details.

### Polymorphism

The `%=`

operator is polymorphic. The definition of the `%=`

operator depends
on the `Integral`

interface.

### Type

The result type of the `%=`

operator is the same as the type of its right hand operand.

## See also

- arithmetic operators in the language specification
- operator precedence in the language specification
- Operator polymorphism and Numeric operator semantics in the Tour of Ceylon