首页数学计算取模运算

取模运算计算器(a mod b)

取模结果
2
17 mod 5 = 2
支持负数:使用数学定义取非负余数,除数不可为0

关于取模运算 (Modulo Operation)

什么是取模运算?

取模运算(英语:modulo)是数学中求两个整数相除的余数的运算,通常记作 a mod ba % b。例如:17 mod 5 = 2,因为 17 除以 5 得商 3 余 2。取模运算在数论、计算机科学、密码学、编程中无处不在。

很多人会把取模运算和取余运算搞混,两者有着明显的差异。

数学定义与性质

对于整数 a 和正整数 b,存在唯一整数 q (商) 和 r (余数) 使得:
a = b × q + r,且 0 ≤ r < |b|
此处的 r 即为 a mod b 的结果。对于负数,本计算器采用“取正余数”定义:r = a - b × floor(a / b),确保余数非负。例如:-17 mod 5 = 3(因为 -17 = 5 × (-4) + 3)。

常见应用场景

  • 判断奇偶: n mod 2 = 0 表示偶数,=1 表示奇数。
  • 循环队列/环形缓冲区: 下标取模实现循环。
  • 哈希算法: 将大数映射到固定范围(哈希桶)。
  • 时间计算: 24小时制、星期几等。
  • 加密与校验: RSA算法、Luhn算法等大量使用取模。

使用本工具

上方计算器支持任意整数(正、负、零,除数 b ≠ 0)。输入自动计算,结果高亮显示。可快速验证编程中的取模结果或数学作业。例如:

20 mod 7 = 6
100 mod 30 = 10
-13 mod 4 = 3 (因为 -13 = 4 × (-4) + 3)
45 mod -7 = 3 (定义采用除数绝对值)

取模与取余的区别

在编程中,不同语言对负数的 % 结果可能不同。例如 JavaScript 中 -13 % 4 = -1,但数学上我们常希望得到非负余数 3。本计算器采用数学取模(欧几里得除法),更符合数论习惯。

模运算恒等式

(a + b) mod m = ((a mod m) + (b mod m)) mod m
(a × b) mod m = ((a mod m) × (b mod m)) mod m
幂模运算常用于快速幂取模。