【问题标题】:Why is (-3//2 = -2) [duplicate]为什么是(-3//2 = -2)[重复]
【发布时间】:2020-01-23 18:19:13
【问题描述】:
在我看来,答案应该是-1。因为3//2 等于1。谁能解释为什么我的控制台输出-2?
value = -3//2
print(value)
【问题讨论】:
标签:
python
math
integer
division
【解决方案1】:
我假设这是 python 而// 是整数除法
在 python 整数除法中,// 向下舍入(在数轴左侧)到最接近的整数
-3/2 outputs a float -1.5 不是整数除法所以没有四舍五入
-3//2 outputs an integer -2 向下(左)舍入到数轴上最接近的整数
【解决方案2】:
如果这是python,那么//被称为地板除法,它是一个将结果向下舍入到最接近的整数的运算符。
因此
-3/2 = -1,5 rounded down to the nearest whole number is equal to -2.
因此:
-3//2 = -2.
鉴于红线是-1,5 所在的位置,通过向下舍入(这意味着在轴上始终向左移动)最接近的数字是-2,这就是运算符所做的。它不会四舍五入到最接近 0 的数字,因为这意味着它正在向上舍入,因为它会在轴上向右移动。