跳到主要内容

取模计算器 —— 截断取余 vs 数学取模、向下取整商、模幂与模逆元

a mod n 同时给两种约定 —— 你语言里 % 返回的那个,和数学上恒非负的那个,外加向下取整商、模幂、模逆元

  • 本地处理
  • 分类 计算度量
  • 适合 买东西、做计划、训练或排期前,先算出大概范围。

截断取余(a % n)

-1

JS / C / Java / Go / Rust 里的 % 运算符,符号随被除数 a。

欧几里得 / 数学取模

2

结果恒在 [0, |n|),数论、时钟运算和密码学用的就是它。

这里两者不一致,因为 a 是负数:% 保留 a 的符号,数学取模不保留。

向下取整商 ⌊a / n⌋

-3

验算: -7 = (-33 + 2

与欧几里得取模配套:a = q·n + r。

模逆元 a⁻¹ mod n

a⁻¹ ≡ 2 (mod n),因为 a·2 ≡ 1

这个工具能做什么

一个取模计算器,专门回答每个程序员第一次碰到负数时都会栽跟头的问题: -7 mod 3 到底等于几?你语言里的 % 运算符说是 -1,数学家说是 2。在各自 的约定下两个都对,所以这个工具把两者并排算出来,让你不必再猜。"截断 取余"就是 JavaScript、C、Java、Go、Rust 里 % 返回的结果,符号跟着被除数 走;"欧几里得取模"是数学上的余数,恒在 [0, |n|) 区间内,时钟运算、环形 缓冲区下标、密码学要的正是这个。除了两个余数,你还会得到让除法恒等式 a = q·n + r 严格成立的向下取整商;用快速幂(平方-乘)算出的模幂 aᵇ mod n (所以 2^1000000 mod 97 瞬间出结果,全程不构造那个天文数字般的中间值); 以及用扩展欧几里得算法求出的模逆元 —— 当 a 与 n 有公因子、逆元不存在时, 会明确告诉你"逆元不存在",而不是返回一个错误的数。每个值都用 JavaScript BigInt 计算,所以 40 位的操作数也保持精确,不会像 double 那样悄悄四舍五入。 输入会写进 URL,分享链接能复现完全相同的计算。

工具细节

输入
表单输入
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 10 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
计算度量 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

取模计算器 适合怎么用

适合快速估算、对比和规划数字,帮你在做最终决定前先有底。

适合计算任务

  • 买东西、做计划、训练或排期前,先算出大概范围。
  • 一次只改一个输入,对比不同方案。
  • 把模糊假设变成能讨论的数字。

计算检查项

  • 认真核对单位、日期、比例和取整方式。
  • 健康、金融、税务、法律相关结果只能做规划参考,不能替代专业意见。
  • 重要结果要保存输入条件,方便以后复算。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 最大公约数 / 最小公倍数计算器 一组整数求 GCD + LCM —— 辗转相除步骤、质因数分解、质因数表 —— BigInt 精确运算,浏览器本地 打开
  2. 2 进制转换器 进制转换器 —— 二进制、八进制、十进制、十六进制、2-36 任意进制。含位运算。 打开
  3. 3 科学计算器 科学计算器,三角/对数/开方/幂运算全支持,键盘可输入,带历史记录,角度/弧度切换。 打开

真实使用场景

  • 给可能变负的数组下标做回绕

    你在一个长度为 8 的列表里把光标往左移,希望它绕回末尾:下标 -1 应该 变成 7。但 JavaScript 里 -1 % 8 是 -1,拿它做下标会抛错或返回 undefined。填 a = -1、n = 8,读欧几里得结果:7。这就是你代码里要的 ((i % n) + n) % n,在这里一次性确认,而不是在生产环境调一个差一的 回绕 bug。

  • 算星期几

    用 Zeller 之类的日期公式算到"天数" 17,你想对 7 取模来定星期。正数 时两种约定一致(17 mod 7 = 3),但当某个偏移算成负数 —— 比如 -4 mod 7 —— 你要的是 3,不是 -4。计算器给出欧几里得的 3,你的星期查找表就永远 不会越界。

  • 哈希分桶且不产生负槽位

    一个字符串哈希返回带符号的 32 位值,可能为负,你用 hash mod 1009 把它 分到 1009 个槽里。用截断的 %,负哈希会给出负的桶下标,直接崩溃。把 哈希值和 1009 填进来,取欧几里得那一列,你每次都拿到合法的 0..1008 槽位。

  • 手算 RSA 私钥指数

    教学版 RSA 例子里 e = 17、φ(n) = 3120,私钥 d 就是 e 模 φ(n) 的逆元。 填 a = 17、n = 3120,工具用扩展欧几里得算法返回 d = 2753;再用模幂 字段验算:17·2753 mod 3120 应该是 1。不用纸笔做欧几里得回代。

  • 验算密码学练习里的模幂

    一道 Diffie–Hellman 例题要算 5^117 mod 23。把 5^117 敲进普通计算器会 溢出或四舍五入;这里你填 a = 5、n = 23、指数 117,瞬间读到精确答案, 因为工具用平方-乘配合 BigInt,从不构造那个 80 位的幂。

常见踩坑

  • 以为 C 系语言里 -7 % 3 是 2。它是 -1 —— 那里的 % 运算符取被除数的符号。如果你要恒非负的结果,用欧几里得那一列,或在代码里写 ((a % n) + n) % n。

  • 直接用裸的 % 结果给数组做下标。多数语言里负被除数会给出负下标,直接越界。给环形缓冲区或哈希桶做下标前,先用欧几里得取模回绕。

  • 以为每个数都有模逆元。a 模 n 的逆元只在 gcd(a, n) = 1 时存在。如果 a 与 n 有公因子就没有逆元,随手套个公式得到的任何值都是错的。

隐私说明

每一步计算 —— 两个余数、向下取整商、模幂、扩展欧几里得求逆 —— 都是在你 浏览器标签页里运行的纯 JavaScript。你输入的任何数都不会离开页面,不记录, 也没有任何外部 API 调用。有一点要留意:可分享链接会把你的输入写进 query string(例如 ?a=-7&n=3),所以把分享链接粘到别处时,对方服务器的访问日志 会留下这些数。做作业无所谓;如果某个值敏感 —— 比如 RSA 私钥指数 —— 请手动 复制结果,不要分享 URL。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-05-29