需要明确的是,我了解模数在以下 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/