java - 模数和余数之间的差异

标签 java python modulus

我正在使用 javapython 中的 % 运算符进行一些计算。

在进行计算时,我发现 % 运算符在处理负数时在两种语言中的工作方式不同。

例如

-21 % 4 = -1   // Java

-21 % 4 = 3    # Python

所以我查看了 stackoverflow 上的一些帖子,发现在 java 中,% 给出了余数,而在 中python, % 给出。对于正数,它们是相同的,但对于负数,它们给出不同的结果,如上面的示例所示。

所以我搜索了余数之间的区别,在网上阅读了一些帖子,但我仍然不清楚余数和模数之间的区别

问题

有人可以用上面的例子简单地解释一下余数之间的区别吗?

最佳答案

CC++Java不同,Python 的模运算符 (%) 始终返回与分母(除数)具有相同符号的数字)。

示例

(-5) % 4 = (-2 × 4 + 3) % 4 = 3.

( See 了解如何确定不同语言的结果符号。)

关于java - 模数和余数之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58186867/

相关文章:

C:无法使用模运算符将零钱分解为面额,存储到数组中并将输出打印给用户

java - Selenium:如何删除选定的属性

python - 为什么在循环变量使用相同名称时列表会被最后一项覆盖?

python - 如何将 'yield' 生成器结果存储在 Python 2.7 的列表中?

c++ - 当操作数之一为负值时的模运算c++

c - 为什么 C 不能正确计算模数,但结果却是正确的?

java - Java 中的锁定进程

java - Cloneable 的 super.clone() 是线程安全的方法吗?

Java 命令行输入与heredoc

python - 有没有用 Python 编写的 Twitter Storm 的替代品?