Funkce MOD a REMAINDER vrací obě zbytek po dělení dvou čísel. Rozdíl je v tom, že MOD používá funkci FLOOR ve svém algoritmu a REMAINDER používá funkci ROUND. Tento rozdíl může ovlivnit výsledek. Například zavolání funkce MOD (34.5, 3) vrací 1.5. Zavolání funkce REMAINDER (34.5, 3) vrátí -1.5. Pro REMAINDERn nemůže být rovno nule.
Vzorce pro tyto dvě funkce jsou:
MOD (m, n) = SIGN (m) * (ABS(m) - (ABS (n) * FLOOR(ABS (m) / ABS (n))))
REMAINDER (m,n) = m - (n*ROUND (m/n)
Můžete vidět rozdíl, který vyplývá ze zkoumání následující tabulky.
Jestliže m= | a n= | MOD (m,n) vrací | REMAINDER (m,n) vrací |
---|---|---|---|
11 | 4 | 3 | -1 |
11 | -4 | 3 | -1 |
-11 | 4 | -3 | 1 |
-11 | -4 | -3 | 1 |