9

为什么-103/100 == -2103/100 == 1在 Python 中?我似乎无法理解为什么。

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

 

这允许整数除法和模(余数,%)运算符通过 identity 很好地连接x == (x/y)*y + (x%y)

 

1   floor(x)是不大于x的最大整数。

于 2013-03-19T22:06:37.173 回答
1

整数除法(我相信)或多或少会占用任何浮点数的 floor() 。

所以第一个分区是-2,第二个分区是1。

于 2013-03-19T22:07:06.453 回答