为什么整数除法只截断 python 中的正分子?
Why does integer division truncate only for positive numerators in python?
为什么integer
除法在N // D --> N > 0
和N < D
时截断,当N为正时,但当N为负时不截断?
示例12 // 25 = 0
但是 -12 // 25 = 1
这是在python 3.
当然,这里的答案是 Python's integer division floors - 它总是向下舍入。所以一个有启发性的例子是不产生 0 的东西,所以它更明显:
>>> 10 // 3
3
>>> -10 // 3
-4
- 10/3 = 3.3333...,四舍五入为 3。
- -10/3 = -3.3333....,四舍五入为 -4。
因此,即使它是一个正小数部分,如 7 // 4
,它会产生 1.75,Python 会向下舍入为 1。数学解释在链接的博客 post 中,这只是一个力学解释。
为什么integer
除法在N // D --> N > 0
和N < D
时截断,当N为正时,但当N为负时不截断?
示例12 // 25 = 0
但是 -12 // 25 = 1
这是在python 3.
当然,这里的答案是 Python's integer division floors - 它总是向下舍入。所以一个有启发性的例子是不产生 0 的东西,所以它更明显:
>>> 10 // 3
3
>>> -10 // 3
-4
- 10/3 = 3.3333...,四舍五入为 3。
- -10/3 = -3.3333....,四舍五入为 -4。
因此,即使它是一个正小数部分,如 7 // 4
,它会产生 1.75,Python 会向下舍入为 1。数学解释在链接的博客 post 中,这只是一个力学解释。