[Arithmetic Operators]
Description
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() { values[i] = analogRead(0); i = (i + 1) % 10; // remainder operator rolls over variable }
Tips
- The remainder operator does not work on floats.
- 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 ifx
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.