【问题标题】: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 的数字,因为这意味着它正在向上舍入,因为它会在轴上向右移动。

      【讨论】:

        猜你喜欢
        • 2017-07-10
        • 2016-07-19
        • 2015-07-26
        • 2018-12-10
        • 1970-01-01
        • 2010-10-02
        • 1970-01-01
        • 2015-07-23
        • 2011-05-27
        相关资源
        最近更新 更多