• ベストアンサー

MOD関数を使って、1を2で割った余りが「1」になるのはなぜでしょうか

MOD関数を使って、1を2で割った余りが「1」になるのはなぜでしょうか。すみませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

試しに添付図で見比べてみましょう。 MOD(3.5, 2)だと,余り1.5です。 MOD(1, 2)は,商としてゼロが立ち,余りは1です。 >1を2で割った余りが「1」になるのはなぜでしょうか 1の中に2は1個も取れないので,商はゼロになります。すると残りの値としての余りは1になります。 ある意味基本的(自明)なこと過ぎて,何故と聞かれてもなかなか皆さん答えにくいと思います。 例えば「こういう事なら判るんですが,こうなるんじゃないでしょうか」みたいな,あなたが「ここまでは判っている事」も,一緒にご質問に書いてみると良かったかも知れませんね。

koko911
質問者

お礼

単純に1を2で割ったら0.5なので、なぜ余りが「1」なのかなと思ったのですが、商はゼロで残りの値として余り1をとるということなのですね。ありがとうございました。

その他の回答 (2)

noname#204879
noname#204879
回答No.2

そのような質問をされるということは、1を2で割った余りが「1」でなく何か他の値だったら貴方は納得されるのでしょうか?それは何?

noname#111181
noname#111181
回答No.1

1を2で除算すると、商は0で余りは1です。 逆算すると、0×2+1=1 となります。 これは除算の性質なので、「なぜ」と尋ねられても答えようがありません。

koko911
質問者

お礼

逆算するとそういう意味なんですね。。。ありがとうございました。余談ですが、MOD関数の仕様に、「数値が、除数よりも小さい場合は数値をそのまま返します。」ということが記載されてあるサイトを見つけました。ありがとうございました。

関連するQ&A