先日 ー4 ÷ 3を計算する機会があった。
この場合の余りはいくらだと思いますか?
Excelとは直接には関係ないが、恐らく配列数式内の場合分けでこれから先、遭遇することがありそうなので調べてみた。
余りは?
自分の感覚ではこの場合の余りは
ー4 ÷ 3 = -4 ー(3×-1)⇛
余り -1
になるのではないかと思っていた。
しかし実際には
余り 2
が正解らしい。
ということは計算としては
ー4 ÷ 3 = -4 ー(3×-2)⇛ 余り 2 ということだろうか?
なぜこのような考え方になるのだろうか?
計算ルール
ー4 ÷ 3 = ー2・・・2
被除数 ÷ 除数 = 商・・・余り
・ルール1:除数は0以外
・ルール2:余りは0以上除数未満
このルールに則った割算をユークリッド除法と呼ぶようだ。
このルールからいけば余り-1はルール2に抵触するが、余り2はルール2に則っている。
ルールよりも
ルールはこうだというのはわかったがそれよりもtwitterで教えて頂いた
余りは0または正の数で割った数より小さいという一般則によるものですね。この場合、割る数は3ですから余りは0, 1, 2のいずれか。余りがマイナスだと「足りない」という意味なって「余り」でなくなると考えるといいかも。
— Excel VBA Diary (@excelvba_diary) August 16, 2019
余りがマイナスだと「余り」じゃなくて「足りない」
腑に落ちすぎた。