9

なぜPythonで-103/100 == -2103/100 == 1理由がわからないようです。

4

2 に答える 2

22

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

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

プレーンまたは長整数の除算では、同じタイプの整数が生成されます。結果は、結果にフロア1関数が適用された数学除算の結果です。

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

 

これにより、整数除算とモジュロ(剰余、%)演算子がIDを介してうまく接続できるようになりx == (x/y)*y + (x%y)ます。

 

1   floor(x)は、 x以下の最大の整数です。

于 2013-03-19T22:06:37.173 に答える
1

整数除算は、多かれ少なかれ、フロートが出てくるもののfloor()を取ります(私は信じています)。

つまり、最初の分割は-2、2番目の分割は1です。

于 2013-03-19T22:07:06.453 に答える