Функции MOD и REMAINDER используются для возврата остатка от деления двух чисел. Различие заключается в том, что функция MOD использует функцию FLOOR с ее алгоритмом, а функция REMAINDER использует функцию ROUND. Это различие может повлиять на результат. Например, при вызове MOD (34,5, 3) выполняется возврат 1,5. При вызове REMAINDER (34,5, 3) выполняется возврат 1,5. Для функции REMAINDER n не может быть равно нулю.
Формулы для этих двух функций:
MOD (m, n) = SIGN (m) * (ABS(m) - (ABS (n) * FLOOR(ABS (m) / ABS (n))))
REMAINDER (m,n) = m - (n*ROUND (m/n)
Различия могут привести к результатам, отраженным в следующей таблице:
Если m= | И n= | MOD (m,n) возвращает | REMAINDER (m,n) возвращает |
---|---|---|---|
11 | 4 | 3 | -1 |
11 | -4 | 3 | -1 |
-11 | 4 | -3 | 1 |
-11 | -4 | -3 | 1 |