-5割る2はいくつ?

割り算で、割る数と割られる数のどちらかが負である場合、その商と余りは数学的には二通り存在する。

たとえば、-5割る2の場合は、

1) 商が-2で余りが-1の場合 [2x(-2)+(-1)=-5]と

2) 商が-3で余りが 1の場合 [2x(-3)+1=-5]の

二通りである。

プログラムではどっちの結果になるのだろうか。

試しに-5を2で割った余りを表示してみる。

Java -5 % 2 -1
C -5 % 2 -1
VB(A) -5 Mod 2 -1
Ruby -5 % 2 1
Perl -5 % 2 1
Gauche (modulo -5 2) 1

どちらかに寄っていると思ったら、言語によって結果が違った。

なにか理由があるのだろうけど、今日は調べる元気がないので寝る。

気に入ったらシェアお願いします!

この記事を書いた人

こんにちは!カノといいます👓
インターネットやテクノロジー、ビジネスモデルや歴史(世界史・日本史)、美術などが好きです。メガネのせいか真面目っぽく見えるらしいですが、基本的には昔からいい加減な性格です。
このブログは昔からずっと個人的な日記みたいな感じで書いてきていて、基本的には個人的なログになりますが、興味のあるところだけ読んでいただけるとうれしいです。コメントやTwitterのフォローなどは大歓迎です。

コメント

コメント一覧 (2件)

  • おもしろい結果ですね。
    ちなみにC#の場合は -1 で、これは
    The result of x % y is the value produced by x – (x / y) * y.
    という計算式だそうです。

コメントする

目次