% (modulo) Chi me lo spiega?

% (modulo) e' tra gli operatori aritmetici e io son tonto e non capisco come funziona :roll_eyes:
http://arduino.cc/en/Reference/Modulo

l'ho trovato su uno sketch dove prendevano i minuti di un orologio e ne selezionavano solo le unita' o le decine

mi fate 2 esempi di come funziona, tnx :wink:

6%2 = 0
6 modulo 2 = 0.

E' il resto dell'operazione di divisione. Siccome 6/2=3 con resto di 0, il modulo ti restituisce 0.

6%5=1
6/5 darebbe 1,2, cioè 1 con resto di 1. Questo perché se fai (divisorerisultato)+resto ottieni il dividendo, quindi (51)+1=6.

Ancora:
3%2=1 -> 2 con resto di 1.

il resto della divisione, quindi nello sketch dove l'ho visto c'era
minuti%10
quindi qualsiasi fosse il "minuti" (da 01 a 59) il modulo mi avrebbe dato come risultato le sole unita' perche' non erano divisibili per 10?

meglio se mi scrivo un esempio per capire meglio

se era minuti%10 è un sistema per sapere le unità, come hai detto tu.
10%10=0
1%10=1
11%10=1
23%10=3

In pratica ottieni la differenza con la decina più vicina

Quindi posso far risolvere ad Arduino il problema dei 44 gatti in fila per 6 col resto di......... (non ricordo piu' come continua...)
:smiley:

Scusate, ma non ho resistito

Eh sì, se fai 44%6 ottieni un bel 2 :stuck_out_tongue:

Un'applicazione tipica ad esempio è:

if num %2 == 0
numero pari
else
numero dispari

:smiley: