- 締切済み
マイナスの割り算
マイナスの割り算の余りはどうなりますか? -5 ÷ 3 のあまりは-2ですか?それとも1ですか? 私の持ってるmodの計算ができるスマホの計算機で計算すると-2となりますが マイナスはおかしいと説明しているサイトもあります マイナスは余りではなく「足りないで、余りは1である」と説明しています そう言われてみればそのような気もしますが計算する環境によって違うのでどうなってるのか疑問に思いました。 プログラミングを利用して結果を見た結果 pythonだと-5%3は1になります C/C++だと-5%3は-2になります あまりとしてはどちらが正しいのでしょうか?
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- pooh26
- ベストアンサー率49% (66/134)
Wikipediaで、剰余演算 に各プログラミング言語の実装についての記載があります。 Pythonは、% と math.fmod で実装が異なります。
- bunjii
- ベストアンサー率43% (3589/8249)
電卓で計算したら -5÷3=-1.666・・・・・ ド出ました。学校で私もそのようにならいました。
- bunjii
- ベストアンサー率43% (3589/8249)
>pythonだと-5%3は1になります >C/C++だと-5%3は-2になります >あまりとしてはどちらが正しいのでしょうか? どちらも正しいとされています。 双方に考え方の違いがあるようです。 -1が5個あり、3つの箱に分けるとそれぞれの箱に-1が1個ずつ入り、-1が2個余ります。 別の考え方として、3つの箱に-1を2個ずつ入れるには-1が1個足りません。 前者がC/C++で後者がpythonの考え方と推測します。 但し、pythonの考え方は被除数または除数が負数の場合にのみ適用されていると考えられます。(戻り値の符号は除数の符号が適用される) 尚、Microsoft ExcelのMOD関数もpythonと同様な処理になっているようです。
被除算数:-5 徐算数:3 割り算とは、被除算数に徐算数が何個含まれているかと言う 計算です。”3”は”-5”の中に何個も含まれていないので 計算不可です。”5”であれば計算可能ですが。
- f272
- ベストアンサー率46% (8477/18147)
余りとしてどのような定義を採用するかで,答えは変わります。 どれが正しいということはありません。
- OKWave6666
- ベストアンサー率0% (0/40)
どれもただしいです どんな答えが必要かによって違うだけですから たとえばどちらでもない -5÷3=-5/3 という分数でも正しい答えです
- nananotanu
- ベストアンサー率31% (714/2263)
割られる数=割る数×商+余り の定義に戻れば、少なくとも『数学的』意味ははっきりすると思います。 プログラミングはあくまで「このように計算することとする」という『約束事』ですからね。