Modulokalkylator
Modulooperationen (eller “mod”) ger resten efter heltalsdivision: 17 mod 5 = 2 eftersom 17 = 3·5 + 2. Den är kärnan i klockaritmetik, kryptografi, hashfunktioner och mönstret “var N:e rad” i SQL. Den här kalkylatorn accepterar heltals- eller decimaloperander, visar kvoten och resten explicit och hanterar skillnaderna i teckenkonvention mellan språk (% i Python ≠ % i C för negativa tal).
Så beräknar du a mod b
-
1
Ange täljaren (a) och nämnaren (b)
Vilka tal som helst; decimaler och negativa tal är tillåtna.
-
2
Välj teckenkonvention
Trunkerad division (C, Java, Go), nedåtavrundad division (Python, Ruby, matematisk konvention).
-
3
Läs av kvoten och resten
a = q·b + r, med den valda regeln för tecknet på r.
-
4
Se det matematiska uttrycket
Insatta värden gör varje steg synligt.
Två konventioner för negativa tal
För positiva operander är alla konventioner överens: 17 mod 5 = 2. För negativa tal skiljer sig språken åt:
| Språk | -17 mod 5 |
Konvention |
|---|---|---|
| Python, Ruby | 3 | Nedåtavrundad |
| C, Java, Go, JS | -2 | Trunkerad |
| Matematikläroböcker | 3 | Nedåtavrundad (oftast) |
Nedåtavrundad division: kvoten avrundas mot −∞. Resten har alltid samma tecken som nämnaren: samma tecken som b.
Trunkerad division: kvoten avrundas mot noll. Resten har samma tecken som täljaren: samma tecken som a.
För a = -17, b = 5:
- Trunkerad: q = -3 (avrundad mot 0), r = -17 − (-3)·5 = -2.
- Nedåtavrundad: q = -4 (avrundad mot -∞), r = -17 − (-4)·5 = 3.
Båda är korrekta inom sin konvention. Välj den som passar ditt språk.
Var modulo dyker upp
- Tid. Minuter på en timme, veckodagar, sekunder på ett dygn, allt är moduloaritmetik.
- Hashtabeller.
hash(key) mod table_sizeväljer en hink. - Round robin-schemaläggning.
task_i mod worker_countfördelar arbete. - Kryptografi. RSA och Diffie-Hellman bygger på mod
nmed enorma primtal. - Var N:e rad. I SQL:
WHERE id % 3 = 0. - Jämn/udda-kontroll.
n mod 2 == 0betyder jämnt. - Växlande mönster. Randning av rader, färgläggning av varannat element.
- Cirkulära buffertar.
(index + 1) mod sizeslår runt.
Användbara identiteter
(a + b) mod n = ((a mod n) + (b mod n)) mod n(a · b) mod n = ((a mod n) · (b mod n)) mod n(a^k) mod nkan beräknas med snabb modulär exponentiering i O(log k), avgörande för kryptografi med stora tal.a mod 1 = 0för varje heltal a.a mod a = 0.
Decimal modulo
För reella tal är den naturliga definitionen a mod b = a − b · floor(a/b). 7.5 mod 2.5 = 0 eftersom 7,5 är en exakt multipel. 7.6 mod 2.5 = 0.1.
Operatorn % i JavaScript fungerar på reella tal; fmod i Python gör trunkerad reell modulo; % i Python gör nedåtavrundad reell modulo.
Lösta exempel
100 mod 7: 100 = 14·7 + 2, alltså rest 2.25 mod 4: 25 = 6·4 + 1, alltså rest 1.-10 mod 3(nedåtavrundad):-10 = -4·3 + 2, rest 2. (Trunkerad skulle ge-1.)17.5 mod 5: 17,5 = 3·5 + 2,5, rest 2,5.
Vanliga frågor
För det mesta är de synonymer. Formellt antyder “modulo” ofta den matematiska konventionen (nedåtavrundad), medan “remainder” (rest) ofta syftar på den trunkerade varianten (C-stil). Namnen läcker in i språkens dokumentation; när det spelar roll, ange konventionen uttryckligen.
Python följer den matematiska konventionen (nedåtavrundad), vilket gör att restens tecken matchar nämnaren. C följer hårdvarans ALU-konvention (trunkerad), där restens tecken matchar täljaren. Ingen är fel; det är olika val.
Nej, division med noll är odefinierad. Kalkylatorn returnerar ett fel för b = 0.
Oftast, ja. Kontrollera ditt språks specifikation för hantering av negativa tal, Python och Ruby skiljer sig från C, Java, Go och JavaScript.
För RSA-liknande matematik med 2048-bitars tal, använd ett särskilt bibliotek (pow(a, b, n) i Python, BigInteger.modPow i Java). Den här kalkylatorn hanterar vardagliga värden, inte värden av kryptografisk klass.
Relaterade verktyg
Kattmatkalkylator
Beräkna dagliga kalorier och matportioner för din katt utifrån vikt, ålder och aktivitetsnivå. Anpassar sig till torr-, våt- eller blandad matning.
Remlängdskalkylator
Beräkna exakt delnings-, referens- eller effektiv längd, eller centrumavståndet, från två referensdiametrar på remskivorna.
Metabolismkalkylator
Beräkna din basala metaboliska hastighet (BMR) och din totala dagliga energiförbrukning (TDEE) utifrån ålder, kön, vikt, längd och aktivitetsnivå.
Bultcirkelkalkylator
Beräkna PCD, vinkeldelning och exakta X/Y-koordinater för jämnt fördelade hål, med rotation, förskjutning och CSV-export.
Omvandlare från månader till år
Räkna om valfritt antal månader till år plus återstående månader. Praktiskt för lånetider, projektplaner, barns ålder och beräkning av anställningstid.
Kalkylator för snowboardstorlek
Uppskatta ett längdintervall och en breddkategori för en konventionell vuxensnowboard utifrån vikt, längd, pjäxstorlek, nivå och åkstil och kontrollera sedan modellens tabell.
Verktyget finns på andra språk
- Máy tính modulo [VI]
- Modulo-Rechner [DE]
- Calculadora de Módulo [ES]
- เครื่องคำนวณโมดูโล (Modulo) [TH]
- حاسبة باقي القسمة (Modulo) [AR]
- 모듈로 계산기 [KO]
- Calculateur de Modulo [FR]
- Kalkulator Modulo [ID]
- Modulo-calculator [NL]
- Kalkulator modulo [PL]
- 剰余計算機 [JA]
- Calculadora de Módulo [PT]
- Modulo Calculator [EN]
- Calcolatore Modulo [IT]
- Калькулятор остатка от деления [RU]
- Modulo Hesaplayıcı [TR]
- 取模计算器 [ZH]