As funções MOD e REMAINDER retornam o restante de uma divisão de dois números. A diferença é que MOD usa a função FLOOR em seu algoritmo e REMAINDER usa a função ROUND. Essa diferença pode afetar a o resultado. Por exemplo, a chamada para MOD (34.5, 3) retorna 1.5. A chamada REMAINDER (34.5, 3) retorna -1.5. Para REMAINDER, n não pode ser igual a zero.
As fórmulas para as duas funções são:
MOD (m, n) = SIGN (m) * (ABS(m) - (ABS (n) * FLOOR(ABS (m) / ABS (n))))
REMAINDER (m,n) = m - (n*ROUND (m/n)
Você pode ver as diferenças que podem resultar ao examinar a tabela a seguir:
If m= | And n= | MOD (m,n) retorna | REMAINDER (m,n) retorna |
---|---|---|---|
11 | 4 | 3 | -1 |
11 | -4 | 3 | -1 |
-11 | 4 | -3 | 1 |
-11 | -4 | -3 | 1 |