猿问

Python中负数的模运算

Python中负数的模运算

我在Python中发现了一些关于负数的奇怪行为:

>>> -5 % 4
3

谁能解释一下发生了什么?


呼唤远方
浏览 1040回答 3
3回答

慕神8447489

没有一种最好的方法来处理带有负数的整数除法和mods。如果a/b是相同的幅度和相反的符号将是很好的(-a)/b。如果a % b确实是模数b 那将是很好的。因为我们真的想要a == (a/b)*b + a%b,前两个是不兼容的。要保留哪一个是一个棘手的问题,双方都有争论。C和C ++将整数除以零(so a/b == -((-a)/b)),显然Python没有。
随时随地看视频慕课网APP

相关分类

Python
我要回答