エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Story of Your Life » Blog Archive » 【算術演算小話 その二】 負の剰余について
今回は負の剰余の話です。 剰余は正の数同士の場合は何も問題ないのですが、負の剰余をとってしまうとは... 今回は負の剰余の話です。 剰余は正の数同士の場合は何も問題ないのですが、負の剰余をとってしまうとはまることがあります。 なぜなら言語処理系依存だからです。C++, pythonのそれぞれを比較すると下記のようになります。 (C) -2 % 5 = -2 (python) -2 % 5 = 3 計算結果は違っていますが、この二つプログラミング言語の剰余は、両者とも、以下の等式が成り立つような値と定義されています。 x == (x / y)*y + x%y つまり剰余の値は、 x % y = (x / y)*y - x という式で得られます。 剰余の計算結果が異なっている原因は負の値に対する除算の値が異なるからです。 (C) -2 / 5 = 0 (python) -2 / 5 = -1 下のグラフを見ていただければわかると思うのですが、pythonの場合、除算の結果は「x 以下の最も大きい
2011/01/16 リンク