数学素人なりに理解したつもりの、mod と rem の違い

2021-06-18

とりあえずの理解としては

=>(rem 7 4)
1
=>(mod 7 4)
1
=>(rem -7 4)
-1
=>(mod -7 4)
2

マイナスのときの挙動が違います。

こちらの解説を見て、なんとなく理解。

7 ÷ 3 = 2 … 1

これを書き換えると↓

7=3 × 2 + 1

で、マイナスの場合は

-7 = 3 × (-2) +(-1)

となる。これは、rem の場合。

でも、「余りが-1」って、それは「1足りない」って事じゃないの?余りなんだから正の数でないと!

-7 = 3 × (-3) + 2

となったのが、mod の場合。

て事かな?

でもプログラム的には

doc関数で調べると

=> (doc rem)

remainder of dividing numerator by denominator.(分子を分母で割った余り)

=>(doc mod)

Modulus of num and div. Truncates toward negative infinity.(numとdivのモジュラス。負の無限大に向かって切り捨てられます)

Modulus とは、「整数の合同」。「法」と呼ばれる何らかの整数で割った剰余を代表元として扱う。
たとえば、時計の9時と21時。は法12に関して合同。

…長くなりそうなので、続く。