求模(取模)计算器
千寻网求模计算器,输入被除数 a 和除数 b,计算 a mod b 的余数,支持负数、大数,显示商、余数和不同语言的差异。
mod
取模定义:a mod b = a − b × ⌊a / b⌋(截断商)或 a − b × ⌊a/b⌋(向下取整商)
不同语言的差异(当 a、b 符号不同时结果不同):
1. JS / C / Java:结果符号跟随被除数 a(截断除法)
例:-17 % 5 = -2(因为 -17 ÷ 5 = -3.4,截断为 -3,-17 − 5×(-3) = -2)
2. Python / Ruby / Haskell:结果符号跟随除数 b(向下取整除法)
例:-17 % 5 = 3(因为 -17 ÷ 5 = -3.4,向下取整为 -4,-17 − 5×(-4) = 3)
核心区别:
截断除法(truncate):商向 0 取整,余数符号 = 被除数符号
向下取整除法(floor):商向 -∞ 取整,余数符号 = 除数符号
例子:
17 mod 5 = 2(所有语言一致)
-17 mod 5 = -2(JS/C)或 3(Python)
17 mod -5 = 2(JS/C)或 -3(Python)
-17 mod -5 = -2(JS/C)或 -2(Python,一致)
应用:
1. 判断奇偶:n % 2
2. 循环数组下标:i % length
3. 哈希函数
4. 时钟运算