- ベストアンサー
MOD関数を使って、1を2で割った余りが「1」になるのはなぜでしょうか
MOD関数を使って、1を2で割った余りが「1」になるのはなぜでしょうか。すみませんが、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
試しに添付図で見比べてみましょう。 MOD(3.5, 2)だと,余り1.5です。 MOD(1, 2)は,商としてゼロが立ち,余りは1です。 >1を2で割った余りが「1」になるのはなぜでしょうか 1の中に2は1個も取れないので,商はゼロになります。すると残りの値としての余りは1になります。 ある意味基本的(自明)なこと過ぎて,何故と聞かれてもなかなか皆さん答えにくいと思います。 例えば「こういう事なら判るんですが,こうなるんじゃないでしょうか」みたいな,あなたが「ここまでは判っている事」も,一緒にご質問に書いてみると良かったかも知れませんね。
その他の回答 (2)
noname#204879
回答No.2
そのような質問をされるということは、1を2で割った余りが「1」でなく何か他の値だったら貴方は納得されるのでしょうか?それは何?
noname#111181
回答No.1
1を2で除算すると、商は0で余りは1です。 逆算すると、0×2+1=1 となります。 これは除算の性質なので、「なぜ」と尋ねられても答えようがありません。
質問者
お礼
逆算するとそういう意味なんですね。。。ありがとうございました。余談ですが、MOD関数の仕様に、「数値が、除数よりも小さい場合は数値をそのまま返します。」ということが記載されてあるサイトを見つけました。ありがとうございました。
お礼
単純に1を2で割ったら0.5なので、なぜ余りが「1」なのかなと思ったのですが、商はゼロで残りの値として余り1をとるということなのですね。ありがとうございました。