%

[Arithmetic Operators]

説明

Remainder operation calculates the remainder when one integer is divided by another. It is useful for keeping a variable within a particular range (e.g. the size of an array). The `%` (percent) symbol is used to carry out remainder operation.

Syntax

`remainder = dividend % divisor;`

Parameters

`remainder`: variable. Allowed data types: `int``float``double`.
`dividend`: variable or constant. Allowed data types: `int`.
`divisor`non zero variable or constant. Allowed data types: `int`.

Example Code

```int x = 0;
x = 7 % 5;  // x now contains 2
x = 9 % 5;  // x now contains 4
x = 5 % 5;  // x now contains 0
x = 4 % 5;  // x now contains 4
x = -4 % 5; // x now contains -4
x = 4 % -5; // x now contains 4```
```/* update one value in an array each time through a loop */

int values[10];
int i = 0;

void setup() {}

void loop() {
i = (i + 1) % 10; // remainder operator rolls over variable
}```

Tips

1. The remainder operator does not work on floats.
2. If the first operand is negative, the result is negative (or zero). Therefore, the result of `x % 10` will not always be between 0 and 9 if `x` can be negative.

Language Reference Home

The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

English
English