工具用的順手嗎?
你的回饋能幫助我們做得更好
計算兩數相除的餘數,支援正整數與負數的取模運算。
商向 0 截斷,餘數符號與被除數相同。
公式
a mod n = a - q × n
其中 q 為商,n 為除數;不同取模方式取整規則不同,結果可能不同。
| 取模方式 | 餘數 |
|---|---|
| 截斷式(C / JS / Java %) | 2 |
| 向下取整式(Python %) | 2 |
| 歐幾里得式(餘數非負) | 2 |
概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
餘數可用等式 a = q × n + r 驗算:a 是被除數、n 是非零除數、q 是商、r 是餘數。輸入正數時,常見規則通常得到相同餘數;被除數或除數為負數時,商的取整方向會改變結果。因此看到「mod」或程式中的 %,仍要確認所採用的定義。
本計算器接受整數或小數,也接受負數;可在截斷式、向下取整式與歐幾里得式之間切換。結果區會顯示所選方式的商與餘數,並同時列出三種餘數,方便和題目、公式或程式輸出逐一核對。除數不可為 0。
截斷式:商向 0 截斷,r = a − q × n;非零餘數的符號與被除數相同。JavaScript 的 % 屬於這種餘數規則。
向下取整式:商向負無窮方向取整,餘數的符號與除數相同;Python 的 % 採用這類規則。
歐幾里得式:餘數保持非負,範圍為 0 ≤ r < |n|。除數是負數時,商會配合調整,仍讓等式成立。
例如 a = −17、n = 5:截斷式的商為 −3、餘數為 −2;向下取整式與歐幾里得式的商為 −4、餘數為 3。三者都符合 −17 = q × 5 + r,差異來自商的取整規則,而非計算錯誤。MDN 對 JavaScript 餘數運算的說明與 Python 語言參考可用來核對這兩種常見程式慣例。
指南
依步驟完成操作,並透過範例核對輸入與結果。
在兩個欄位輸入十進位整數或小數,可加負號,例如 −17 和 5。除數不能是 0;格式請使用一般數字寫法,不加千分位逗號或指數符號。
若要對照 JavaScript 的 %,選截斷式;若對照 Python 的 %,選向下取整式;若用途要求非負餘數,選歐幾里得式。選項下方會提示該方式的商取整方向與餘數符號。
主結果顯示所選模式的餘數,旁邊也列出商與 a = q × n + r。下方對照表固定呈現三種餘數。修改輸入或模式後,結果會重新計算;可複製主餘數,或重設回預設輸入。
以 −17 除以 5 為例,切換模式時主餘數會在 −2 與 3 之間變化;讀取對照表時,也要看同一列規則所對應的商,才能完整還原除法等式。
情境
查看這項工具在不同工作與生活流程中的用法。
解題時先依教材或題目指定的規則選模式,再用商與餘數代回 a = q × n + r。若輸入含負數,查看另外兩列可幫助辨認答案差異是定義不同還是算錯。
開發者可將同一組被除數、除數套用三種方式,與目標語言的運算結果比較。不要只核對餘數,也要確認商的取整規則一致。
若演算法會把位置繞回固定區間,先確認負索引是否必須轉成非負值;需要非負餘數時選歐幾里得式,並檢查除數絕對值是否就是週期長度。
問答
集中解答常見疑問與容易混淆的問題。
兩者採用不同的商取整方式。截斷式將 −3.4 向 0 截成 −3,因此餘數是 −2;向下取整式取 −4,餘數是 3。歐幾里得式要求餘數非負,此例也得到 3。
可以。各模式會同時配上一個符合自身取整規則的商,使 a = q × n + r 成立。請勿把某一模式的餘數和另一模式的商交叉搭配。
小數以有限精度數值計算,顯示時最多保留 10 位小數;極小或極大的值可能改用科學記號。末位顯示值可能經格式化,不能視為任意精度的小數結果。
須知
使用前了解適用範圍、結果限制與必要提醒。
「餘數」與「取模」在不同數學教材及程式語言中的用法可能不同。若要重現程式結果,請以該語言文件或課程定義為準,尤其要確認負數情況。整數輸入會以整數方式計算;小數輸入受有限精度與顯示位數影響,重要計算請另用符合精度要求的方法驗證。除數為 0 時沒有可用結果。
推薦
查找相關工具、專題與可用的 API 能力。