Le funzioni MOD e REMAINDER restituiscono entrambe il resto di una divisione di due numeri. La differenza è che MOD utilizza la funzione FLOOR nel proprio algoritmo, mentre REMAINDER utilizza la funzione ROUND. L'uso dell'una o dell'altra può influire sul risultato. Ad esempio, la chiamata di MOD (34.5, 3) restituisce 1.5. La chiamata di REMAINDER (34.5, 3) restituisce -1.5. Per REMAINDER, n non può essere uguale a zero.
Le formule per le due funzioni sono:
MOD (m, n) = SIGN (m) * (ABS(m) - (ABS (n) * FLOOR(ABS (m) / ABS (n))))
REMAINDER (m,n) = m - (n*ROUND (m/n)
È possibile osservare le differenze tra i due risultati esaminando la tabella riportata di seguito:
Se m= | E n= | MOD (m,n) restituisce | REMAINDER (m,n) restituisce |
---|---|---|---|
11 | 4 | 3 | -1 |
11 | -4 | 3 | -1 |
-11 | 4 | -3 | 1 |
-11 | -4 | -3 | 1 |