透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

結果(a mod b)
1
截斷("%")慣例
商數(截斷) 2
向下取整模數(與除數同號) 1
5 div 2 = 2 R 1; check 2 x 2 + 1 = 5. So 5 mod 2 = 1.

什麼是模數運算?

模數運算寫作 a mod b,回傳的是被除數 a 除以模數(除數)b 後剩下的餘數。它在計算機科學與數學中無所不在:時鐘運算、雜湊(hashing)、在清單中循環取值、判斷整除性,以及密碼學都仰賴它。這個工具能計算正數、負數與小數的餘數,並提供完整的逐步證明。

數線顯示 17 被分成三次步長為 5 的跳躍,餘數為 2
17 mod 5 = 2:以整步減去除數,剩下的就是餘數。

如何使用

輸入被除數(a)模數/除數(b)。兩個值都可以是負數或小數,按 +/- 按鈕即可快速切換正負號。除數不可為零,因為除以零在數學上沒有定義。計算結果會顯示餘數、整數商、可選的「向下取整模數」值,以及一段文字證明。

公式說明

本計算機採用截斷除法(truncated division)的慣例,與 C、Java 和 JavaScript 中 % 運算子的規則相同。首先將商數朝零的方向截斷:q = trunc(a / b)。接著餘數為 n = a - q*b。由於商數是截斷而非向下取整,餘數的正負號會與被除數 a 相同。舉例來說,在此 -5 mod 2 = -1;而另一種「向下取整(floored)」慣例(以次要輸出顯示)則會得到 1,正負號改為與除數一致。

$$\text{a} \bmod \text{b} = \text{a} - \left\lfloor \dfrac{\text{a}}{\text{b}} \right\rceil_{0} \cdot \text{b}$$$$\begin{gathered} r = \text{a} - q \cdot \text{b} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} q &= \operatorname{trunc}\!\left( \dfrac{\text{a}}{\text{b}} \right) \\ \text{b} &\neq 0 \end{aligned} \right. \end{gathered}$$
Advertisement
a 等於 b 乘商加餘數的示意圖,配有分段圓環
恆等式 a = b·q + r 是取模結果 r 的基礎。

實例演算

當 a = 5、b = 2 時:商數為 \( \operatorname{trunc}(5/2) = \operatorname{trunc}(2.5) = 2 \),餘數為 \( 5 - 2 \times 2 = 1 \)。證明:5 除以 2 得 2 餘 1,且 \( 2 \times 2 + 1 = 5 \)。所以 \( 5 \bmod 2 = 1 \)。小數的例子:7.5 mod 2 得 \( \operatorname{trunc}(3.75) = 3 \),餘數為 \( 7.5 - 3 \times 2 = 1.5 \)。

常見問題

為什麼 -5 mod 2 = -1 而不是 1?本工具採用程式語言的截斷慣例,因此餘數的正負號與被除數相同。當你需要與除數同號的結果時,請參考「向下取整模數」那一列,它顯示的是數學慣例的答案(1)。

如何判斷整除性?當 x mod b = 0 時,x 就剛好是 b 的倍數。例如 \( 496 \bmod 4 = 0 \)(為 4 的倍數),但 \( 226 \bmod 4 = 2 \)(不是倍數)。

除數可以是零嗎?不行。除以零沒有定義,所以當 b = 0 時計算機會回傳錯誤。

最後更新: