为什么在Python中-103/100 == -2但103/100 == 1?

时间:2013-03-19 22:05:09

标签: python integer-division

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

2 个答案:

答案 0 :(得分:22)

整数除法总是向下舍入(向负无穷大)。

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

  

普通或长整数除法产生相同类型的整数;结果是应用于结果的 floor 1 函数的数学除法。

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

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

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

答案 1 :(得分:1)

整数除法(我相信)任何浮动出现的楼层(或多或少)。

第一个分区为-2,第二个分区为1个。