Операция вычисляет остаток от деления одного числа на другое. Это полезно для хранения переменной в определенном диапазоне (например, размер массива). Для выполнения этой операции символ % (процент) используется для выполнения этой операции.
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 может быть отрицательным.