1、概念
求余运算,也称为取模运算,是数学和编程中的一种基本运算。它用于计算两个数相除后的余数。求余运算通常用符号表示。
例如,如果我们有 10 % 3,这表示我们想要找出 10 被 3 除后的余数。在这种情况下,结果是 1,因为 3 可以被整除进 10 三次(即 9),剩下 1 作为余数。
求余运算的一些特性:
- 当被除数小于除数时,结果就是被除数本身。例如,
2 % 5
的结果是2
。 - 如果被除数正好可以被除数整除,那么余数为 0。例如,
10 % 5
的结果是0
。 - 求余运算的结果的符号与被除数的符号相同。例如,
-7 % 3
的结果是-1
,而7 % -3
的结果是1。
2、不同编程语言结果不同
1、C风格的取模运算:
在这种情况下,取模运算的结果符号与被除数(即做取模运算的那个数)相同。例如,在C、C++中,表达式 -5 % 3
的结果是 -2
,因为 -5 = (-2) * 3 + (-2)
。
2、数学上的取模运算:
在数学上,取模运算通常定义为得到一个非负的结果,这个结果是在模意义下的最小非负剩余。例如,-5
的结果是 3
1
,因为 -5 = (-2) * 3 + 1
。这种定义保证了结果总是在 [0, modulus)
这个范围内,其中 modulus
是除数。
在Python中,取模运算遵循的是第二种定义,即数学上的取模运算。这意味着当你在Python中执行 -5 % 3
时,你会得到 1
。