Las funciones MOD y REMAINDER devuelven el resto de una división de dos números. La diferencia es que MOD utiliza la función FLOOR en su algoritmo y REMAINDER utiliza en su lugar la función ROUND. Esta diferencia puede afectar al resultado. Por ejemplo, la llamada a MOD (34.5, 3) devuelve 1.5. La llamada REMAINDER (34.5, 3) devuelve -1.5. Con REMAINDER, n no puede ser igual a cero.
Las fórmulas de las dos funciones son las siguientes:
MOD (m, n) = SIGN (m) * (ABS(m) - (ABS (n) * FLOOR(ABS (m) / ABS (n))))
REMAINDER (m,n) = m - (n*ROUND (m/n)
En la siguiente tabla se pueden apreciar las diferencias entre las funciones:
Si m= | Y n= | MOD (m,n) devuelve | REMAINDER (m,n) devuelve |
---|---|---|---|
11 | 4 | 3 | -1 |
11 | -4 | 3 | -1 |
-11 | 4 | -3 | 1 |
-11 | -4 | -3 | 1 |