Funkcje MOD i REMAINDER zwracają resztę z podziału dwóch liczb. Różnica polega na tym, że funkcja MOD korzysta z funkcji FLOOR w algorytmie, a funkcja REMAINDER z funkcji ROUND. Ta różnica może wpływać na otrzymane wyniki. Na przykład wywołanie funkcji MOD (34.5, 3) zwraca 1,5. Wywołanie funkcji REMAINDER (34.5,3)zwraca -1,5. Dla funkcji REMAINDER n nie może być równy zero.
Wzory dla obu funkcji:
MOD (m, n) = SIGN (m) * (ABS(m) - (ABS (n) * FLOOR(ABS (m) / ABS (n))))
REMAINDER (m,n) = m - (n*ROUND (m/n)
Różnicę wyników widać wyraźnie w tabeli poniżej:
Jeśli m= | a n= | MOD (m,n) zwraca | REMAINDER (m,n) zwraca |
---|---|---|---|
11 | 4 | 3 | -1 |
11 | -4 | 3 | -1 |
-11 | 4 | -3 | 1 |
-11 | -4 | -3 | 1 |