% (resto)
resultado = a % b
O operador módulo (símbolo de porcentagem) devolve o que sobra de uma divisão inteira. Parece bobo, mas é uma das ferramentas mais úteis de programação: dá pra saber se um número é par, criar ciclos que se repetem, piscar LED a cada N voltas do loop().
Sintaxe
resultado = a % b;
Parâmetros
- a: o dividendo (número inteiro).
- b: o divisor (número inteiro).
Retorno
O resto inteiro da divisão de a por b. Exemplo: 10 % 3 dá 1, porque 10 = 3×3 + 1.
Exemplo
void setup() {
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
Serial.print(i);
Serial.println(" e par");
}
}
delay(2000);
}
Notas e cuidados
- O
%só funciona com inteiros (int,long,byte). Comfloatdá erro de compilação — pra isso existe a funçãofmod(). - Assim como na divisão,
a % 0deve ser evitado: o resultado fica indefinido (no Uno costuma voltar 0), então cheque o divisor antes. - Com números negativos, o sinal do resto acompanha o dividendo:
-7 % 3dá-1.