2013-03-19 7 views

答えて

22

整数の除算は常に負の無限大方向に切り捨てられます。

http://www.mathsisfun.com/numbers/images/round-up.gif

プレーンまたは長い整数の除算は、同じタイプの整数を与えます。結果はフロア 関数を結果に適用した数学的除算の結果です。

http://docs.python.org/2/reference/expressions.html#binary-arithmetic-operations

 

これは、整数の除算と剰余同一x == (x/y)*y + (x%y)を通じてうまく接続する(残り、%)演算子を可能にします。

 

  フロア(x)はは、xより大きくない最大の整数です。

+0

'(a // b)* b + a%b == a'にメモを追加する価値があります。 – abarnert

+0

(+1)画像は最高です。言葉遣いに関する限り、私は、「無限に近づく」という言葉は、「切り捨て」よりもあいまいではありません。 – NPE

+0

[ウィキペディア](http://en.wikipedia。ほとんどの言語(C90は顕著な例外である)が、モジュロ除算と被除数符号を切り捨てたか、または除算と除数符号をモジュロにしているかについて、かなり良い説明があります。どちらか一方が合理的です(3番目のオプションは常に正の係数)。しかし、Pythonが選択した方法は、数論と実用算術の両方でより一般的です。 – abarnert

1

整数の除算は、浮動小数点数が多かれ少なかれ出ていくフロア()と思っています。

したがって、最初の除算では-2、2番目では1です。

関連する問題