python - Python中负数的模数

标签 python modulus

<分区>

23 % -5 = -2
23 % 5 = 3

谁能给我解释一下,因为我明天要考试,所以我怎么能理解这个。我想说这是因为 -5 * -5 =25 然后 25 -2 = 23 这就是他们如何获得 23。这是正确的吗?

最佳答案

在 Python 中,余数的符号与分母的符号相同(这与 C 等语言不同,后者与分子<的符号相同/em>).

从数学上讲,您始终可以保证如果 a, b = divmod(n, d),则 a*d + b == n

请注意 23//5 == 423//-5 == -5(Python 总是进行楼层划分)。因此,正如您所说,我们有 4*5 + 3 == 23-5*-5 - 2 == 23

关于python - Python中负数的模数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12632549/

相关文章:

python - zeromq 同时订阅和发布

Power BI 中的 Python 控制台

python - 消息重组/套接字通信

operator-keyword - 负模运算符结果的目的是什么?

c - 为什么模运算符不扩展到除整数类型之外的其他数据类型?

python - 打印存储在 MySQL DB 中的不同值

algorithm - 寻找可以具有巨大的 n 和 k 值的 nCk

c# - 模数给出错误的结果?

c++ - 稳定c++中的值

python - Keras:构建与给定张量相同批量大小的完整张量