% (Деление с остатком)

Операция вычисляет остаток от деления одного числа на другое. Это полезно для хранения переменной в определенном диапазоне (например, размер массива). Для выполнения этой операции символ % (процент) используется для выполнения этой операции.

Синтаксис

remainder = dividend % divisor;

Параметры

remainder: переменная. Допустимые типы данных: int, float, double
dividend: переменная или константа. Допустимые типы данных: int
divisor: ненулевая переменная или константа. Разрешенные типы данных: int

Пример кода

int x = 0;
x = 7 % 5; // Сейчас в x 2
x = 9 % 5; // Сейчас в x 4
x = 5 % 5; // Сейчас в x 0
x = 4 % 5; // Сейчас в x 4
x = -4 % 5; // Сейчас в x -4
x = 4 % -5; // Сейчас в x 4
/* Обновлять одно значение в массиве за каждый проход цикла */

int values[10];
int i = 0;

void setup() {

}

void loop() {
	values[i] = analogRead(0);
	i = (i + 1) % 10; // Оператор "переворачивает" число
}

Примечания и предупреждения

Оператор остатка не работает с типом данных float.

Если первый операнд отрицательный, результат отрицательный (или ноль). Следовательно, результат x % 10 не всегда будет между 0 и 9, если x может быть отрицательным.