python - 模数如何处理也小于除数的负股息?

标签 python math modulo

需要明确的是,我了解模数在以下 3 种情况下的行为。

我明白为什么 16 % 3 = 1。

我明白为什么 -16 % 3 = 2。(我意识到这可能很棘手)

我明白为什么 3 % 16 = 3。

但我不明白为什么 -3 % 16 = 13。我也不明白为什么一些在线资源(和一些编程语言)给出的答案是 -3。我是初学者,所以实用的答案对我来说最有用。谢谢!

最佳答案

在python中取模会使用这个方法来得到结果

mod(a,n) = a - {n * Floor(a/n)}

所以如果它是 -3 % 16 就会像这样:

mod(-3,16) = -3 - {16 * Floor(-3/16)}
           = -3 - {16 * Floor(-0.1875)}
           = -3 - {16 * -1}
           = -3 - (-16)
           = 13

请查看详细解释here

关于python - 模数如何处理也小于除数的负股息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59597343/

相关文章:

python 南!=南

c - 测试一个数是否能整成 6?

modulo - 为什么模数运算符很慢?

go - big.Float 中的 Div 和 Mod

c++ - 从 Windows 上的 C++ 或 Python 的串口读取

python - 如何对列表的每个元素执行操作并将结果放入 Python 的新列表中?

python - 如何使用 Pandas 在年份变化时继续周数

python - 如何将时间字符串转换为秒?

java - 如何生成随机数以提供正确的除法结果

math - 高效的4x4矩阵逆(仿射变换)