1

我知道 // 运算符是如何工作的,但是幕后发生了什么?

我真正想知道的是:即使只对整数进行运算,它是否也会出现浮点精度错误?

4

2 回答 2

2

Python 在计算时不使用浮点运算a // b(对于 a、b 整数)。经典长除法算法的实现,用于计算除a和时的商和余数b

大整数的实际除法x_divrem()longobject.c中实现。

于 2018-05-08T04:58:56.413 回答
0

这是 Python 楼层除法的 C 实现(何时b为正):

int py_floor_div(int a, int b)
{
    if (a >= 0)
        return a / b;
    return (a - b + 1) / b;
}
于 2021-08-06T01:50:31.290 回答