Mod と Remainder

関数 MODREMAINDER は両方とも、2 つの数の除算の剰余を返します。相違点は、MOD はアルゴリズムで関数 FLOOR を使用し、REMAINDER は関数 ROUND を使用することです。この違いは結果に影響します。たとえば、MOD (34.5, 3) を呼び出すと 1.5 が返されます。REMAINDER (34.5, 3) を呼び出すと -1.5 が返されます。REMAINDER の場合、n がゼロに等しくなることはありません。

2 つの関数の式は次のとおりです。

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