• ベストアンサー

剰余の値の符号

表計算ソフトの関数で「剰余の値は常に除数と同じ符号をもつ」とありました。そこで疑問がわきました。 3÷(-2)の答えを整数とした場合、 “-1余り1”ではなく“-2余り-1”となることになりますが 本当でしょうか?

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

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

本当でしょうかというか,セルに値を入れて試してみれば実際そうなりますよね。 以下,Excelのヘルプより抜粋です。 ---------------------------------------- MOD 数値を除数で割ったときの剰余を返します。戻り値は除数と同じ符号になります。 INT 指定した数値を超えない最大の整数を返します。例)=INT(-8.9) の結果は -9 解説 MOD 関数と INT 関数の関係は、次のように表すことができます。 MOD(n, d) = n - d*INT(n/d) ---------------------------------------- ちなみに,Googleしていたら次の文章がヒットしました。ご参考までに。 わり算では剰余の符号のとりかたに諸方式がある. 一般的なのは剰余の符号を被除数の符号にあわせるというやつで, 多くのプログラム言語でもそう規定しているようである. しかし, 多倍長の被除数をわる時は, 2 の補数の計算機では2 回目以降に剰余をわる時からは正の商が出てほしい.それには剰余の符号は除数の符号と合わせるのが良い. しかしPC-1 では, 負の除数で多倍長をわることはそんなにないだろうと, 剰余の符号が常に正となるように決めた. ここはもうひと踏ん張りし, 剰余と除数の符号をあわせるべきであったとの反省がある. (1996-07-23「パラメトロン計算機PC-1 -回路設計と方式設計-」

Goodguys
質問者

お礼

ありがとうございました。

関連するQ&A