
10对-3取余结果:数学与编程的差异
假设我们计算 10 对 -3 取余的结果,数学公式告诉我们,余数 c 等于 a 减去向下取整运算符 ⌊ a/b ⌋ 乘以 b,其中 a 为 10,b 为 -3。根据公式,我们得到:
c = a - ⌊a/b⌋ * b c = 10 - ⌊10/-3⌋ * (-3) c = 10 - (-4) * (-3) c = 10 - 12 c = -2
因此,根据数学公式,10 对 -3 取余的结果应该是 -2。
然而,在 java 的 % 运算符和 mysql 的 mod 函数中,取余的结果却是 1。这是怎么回事呢?
本文档是python学习笔记与简明教程;为什么用Python作为编程入门语言?每种语言都会有它的支持者和反对者。去Google一下“why python”,你会得到很多结果,诸如应用范围广泛、开源、社区活跃、丰富的库、跨平台等等等等,也可能找到不少对它的批评,格式死板、效率低、国内用的人很少之类。不过这些优缺点的权衡都是程序员们的烦恼。作为一个想要学点编程入门的初学者来说,简单才是最重要的。当学C++的同学还在写链表,学Java的同学还在折腾运行环境的时候,学Pyt
原因在于,余数有正余数和负余数之分。正余数是小于除数的非负数;负余数是大于除数的负数。在 java 和 mysql 中,取余运算符默认返回正余数。因此,10 对 -3 取余的结果是 -3 的正余数,即 1。
因此,数学上计算的余数和编程语言中计算的余数存在差异,这是因为编程语言默认返回正余数。两种计算结果都是正确的,取决于具体的应用场景。









