6

Pythonでの次の整数計算について混乱しています:

-7/3 = -3以来(-3)*3 = -9 < -7。理解します。

7/-3 = -3これがどのように定義されているかわかりません。(-3)*(-3) = 9 > 7. 私の意見では、-2 である必要があります(-3)*(-2) = 6 < 7

これはどのように作動しますか?

4

5 に答える 5

14

ドキュメントから:

(プレーンまたはロング) 整数除算の場合、結果は整数になります。結果は常に負の無限大に向かって丸められます: 1/2 は 0、(-1)/2 は -1、1/(-2) は -1、(-1)/(-2) は 0 です。

への丸め-infは、あなたが見ている行動を説明しています。

于 2011-10-26T14:52:36.937 に答える
1

aix と robert からの回答を拡張します。

これを考える最良の方法は、浮動小数点の結果を (マイナスの無限大に向かって) 切り捨てることです。

-7/3 = floor(-2.33) = -3

7/-3 = floor(-2.33) = -3

于 2011-10-26T15:01:09.363 に答える