Skip to main content
🔬 Advanced ✨ New

Modulo kalkulator

Beregne resten av en divisjonsoperasjon. Finn en mod b umiddelbart med trinnvis forklaring. Dette gratis matematikkverktøyet gir øyeblikkelige, nøyaktige resultater.

Hva er moduloperasjonen?

Modulo-operasjonen (mod, eller %) returnerer resten etter å ha delt et tall med et annet. For en mod b: del a med b, og resultatet er resten. For eksempel 17 mod 5 = 2 (fordi 17 = 3x5 + 2). Resultatet er alltid i området [0, b-1] for positive verdier.

Det grunnleggende forholdet:a = qxb + r, der q er kvotienten (gulvet ((a/b)) og r er resten (0 <= r < b). Modulo er følgesvenn operasjonen til heltall divisjon - hvis a ÷ b = q med rest r, så en mod b = r. Denne kalkulatoren bruker den sanne matematiske modulo definisjonen (alltid ikke-negativ for positiv divisor), i stedet for den signerte rest som brukes av noen programmeringsspråk.

Modulær aritmetikk - aritmetikk med et fast modulus hvor tall "pakker seg rundt" - danner grunnlaget for klokkaritmetikk. Timer på en klokke beregnes mod 12 eller mod 24. Hvis det er 10 AM og du legger til 5 timer: (10 + 5) mod 12 = 3 (PM). Denne wrap-around oppførselen er sentral for utallige algoritmer i datavitenskap, kryptografi og tallteori.

Moduleksempler og trinnvise løsninger

For hver beregning nedenfor er formelen: rest = a - gulv (a ÷ b) x b.

UttrykkKvotient (gulv)Resten (a mod b)Verifisering
17 mod 5323x5 + 2 = 17
20 mod 4505x4 + 0 = 20
7 mod 3212x3 + 1 = 7
100 mod 714214x7 + 2 = 100
13 mod 13101x13 + 0 = 13
1 mod 5010x5 + 1 = 1
256 mod 1616016x16 + 0 = 256
365 mod 752152x7 + 1 = 365

Legg merke til 365 mod 7 = 1: dette forteller oss at et ikke-skifteår har 52 komplette uker pluss 1 ekstra dag, som er grunnen til at ukedagen skifter med 1 hvert ikke-skifteår.

Anvendelser av modulær aritmetikk

Modulo vises gjennom programmering og matematikk.Par/odd sjekk:hvis n % 2 == 0, er n jevnt.Cirkulære arrays og ringbuffere:index = (current_index + 1) % array_size wraps rundt til start.Hash tabeller:bucket = hash(key) % num_buckets kartlegger en hvilken som helst hashverdi til en gyldig bucket-indeks, og sikrer ingen tilgang utenfor grensene.

In KalenderberegningerZeller-formelen og Doomsday-algoritmen er begge basert på modulær aritmetikk for å bestemme ukedagen for en hvilken som helst dato.

In digitale systemer, modulo brukes overalt hvor minneadresser er involvert. side tabell oppføringer, cache sett valg, og minne-mapped I / O alle er avhengige av modulær indeksering. CPU instruksjonssett vanligvis inkluderer en rest (modulo-lignende) instruksjon sammen med divisjon, og SIMD vektor instruksjoner bruker modulo for lane wrapping i shuffles.

In feiloppdagelseKredittkortnumre passerer Luhn-algoritmen (en modulo-10-kontroll). ISBN-10 boknumre bruker mod 11. Disse kontrollsummene fanger transposisjon og enkeltsifrede feil i numeriske koder.

Modulo i kryptografi

Modulær aritmetikk er det matematiske grunnlaget for moderne offentlig-nøkkel kryptografi. De tre viktigste kryptografiske algoritmer - RSA, Diffie-Hellman, og Elliptic Curve Cryptography - alle er avhengige av operasjoner utført modulo et stort primt eller sammensatt tall.

RSA-krypteringbruker modulær eksponering: for å kryptere en melding M med offentlig nøkkel (e, n), beregne C = M^e mod n. For å dekryptere, beregne M = C^d mod n hvor d er den private nøkkelen. Sikkerheten er avhengig av vanskeligheten med å faktorisere n (en stor semiprime) - kun å vite n, gjenopprette p og q er beregningsmessig umulig for nøkkelstørrelser over 2048 biter.

Diffie-Hellman nøkkelutvekslingtillater to parter å etablere en delt hemmelighet over en usikker kanal: Alice sender A = g^a mod p, Bob sender B = g^b mod p. Hver part beregner den delte hemmeligheten: Alice beregner B^a mod p = g^(ab) mod p, Bob beregner A^b mod p = g^(ab) mod p. En avlytter som avlytter g^a mod p og g^b mod p kan ikke gjenopprette g^(ab) mod p uten å løse det diskrete logaritmeproblemet.

Sikkerheten til disse systemene avhenger av den ensidige naturen av modulær eksponering: beregning g ^ a mod p er rask (ved hjelp av gjentatte kvadratisering, O ((log a) multiplikasjoner), men å reversere det - finne en gitt g ^ a mod p - antas å kreve eksponentiell tid for store primtall p.

Modulo med negative tall og kantkasser

Modulo oppførsel med negative tall varierer etter programmeringsspråk, noe som forårsaker mange vanskelige å finne feil.

Språk-7 prosent 37 prosent -3Definisjon
Python2-2Tegnet følger divisor (true modulo)
JavaScript-11Tegn følger utbytte (rest)
C / C++-11Tegn følger utbytte (C99+)
Java-11Tegn følger utbytte
Rubin2-2Tegnet følger divisor (true modulo)
Matematikk (definisjon)21 (eller ikke definert)Alltid ikke-negativ for positiv divisor

I matematikk gir modulo alltid et ikke-negativt resultat: -7 mod 3 = 2 (siden -7 = -3x3 + 2, og 0 <= 2 < 3).

Den sikre måten å sikre et ikke-negativt resultat på på alle språk:((a % b) + b) % b. Dette håndterer negative innganger riktig og brukes internt av vår kalkulator. Dette mønsteret er viktig når du bruker modulo for matrixindeksering eller kalenderdag beregninger der negative resultater ville forårsake feil.

Randtilfeller å huske:(1) Ethvert tall mod 1 = 0 - divisjon med 1 etterlater ingen rest. (2) Ethvert tall mod selv = 0. (3) 0 mod ethvert ikke-nulltall = 0. (4) Divisjon (og modulo) med null er udefinert - alltid validere divisor før beregning modulo. Vår kalkulator viser en klar feilmelding for modulo med null.

Modulo- og delbarhetstester

En av de mest praktiske brukene av modulo er å teste delbarhet uten å utføre full deling.

Delbarhet påTestingEksempel
2n mod 2 = 0 (det siste tallet er jevnt)128 mod 2 = 0
3Sum av sifre mod 3 = 0123: 1+2+3=6, 6 mod 3 = 0
4De to siste sifrene mod 4 = 0312: 12 mod 4 = 0
5Siste siffer er 0 eller 5735 mod 5 = 0
9Sum av sifre mod 9 = 0369: 3+6+9=18, 18 mod 9 = 0
10n mod 10 = 0 (siste siffer er 0)500 mod 10 = 0

Disse delbarhetsreglene er snarveier som er avledet fra modulære aritmetiske egenskaper. Siffersumreglene for 3 og 9 fungerer fordi 10 1 (mod 3) og 10 1 (mod 9), noe som betyr at hver sifers posisjonelle verdi er irrelevant for delbarhet med 3 eller 9. Disse blir undervist i grunnskolen uten den modulære aritmetiske konteksten, men den underliggende mekanismen er modulo.

Modulær eksponering: Fast Power Mod

Å beregne a^b mod n direkte ved først å beregne a^b, og deretter ta mod n, er upraktisk for store eksponenter - a^100 kan ha tusenvis av sifre. Modulær eksponering bruker identiteten (axb) mod n = ((a mod n) x (b mod n)) mod n for å holde mellomliggende resultater små.

Den raske algoritmen bruker gjentatt kvadrering (binær eksponering):

Dette reduserer antall multiplikasjoner fra b til O ((log2 b). For b = 2048-bit RSA eksponenter (~ 10 ^ 600), er dette forskjellen mellom billioner av multiplikasjoner og bare ~ 2000. Uten denne optimaliseringen, ville RSA kryptering være helt upraktisk.

Ofte stilte spørsmål

Hva er 15 mod 4?

15 mod 4 = 3. Fordi 15 = 3x4 + 3, er resten 3. Kontroller: 3x4 = 12, og 15 - 12 = 3.

Hva betyr mod 0?

Modulo med null er ikke definert, akkurat som deling med null. Du kan ikke beregne en mod 0. Kalkulatoren gir en feilmelding i dette tilfellet. Enhver delingsbasert operasjon krever en ikke-null divisor.

Hvordan er modulo relatert til delbarhet?

Et tall a er delbart med b hvis og bare hvis a mod b = 0. For eksempel er 24 mod 6 = 0, så 24 er delbart med 6. 25 mod 6 = 1, så 25 er ikke delbart med 6. Dette gjør modulo til det grunnleggende verktøyet for delbarhetstesting i datavitenskap.

Hva er forskjellen mellom mod og rest?

For positive tall er mod og rest identiske. For negative tall er de forskjellige: den matematiske moduloen returnerer alltid et ikke-negativt resultat (tegn følger divisoren), mens resten tar tegn på dividenden. For eksempel, -7 mod 3 = 2 (matematikk), men -7 rest 3 = -1 (som i C, Java, JavaScript).

Hva er 10 mod 3?

10 mod 3 = 1. Fordi 10 = 3x3 + 1, er resten 1. Du kan verifisere: 3x3 = 9, og 10 - 9 = 1. Dette betyr at 10 etterlater en rest av 1 når dividert med 3, så 10 er ikke delelig med 3.

Hva er 0 mod 5?

0 mod 5 = 0. null delt med et annet enn null tall gir kvotient 0 og rest 0. Generelt er 0 mod n = 0 for alle n ≠ 0.

Hvordan brukes modulo i programmering?

Vanlige programmeringsbruker inkluderer: sjekke jevn/odd (n%2==0), wrapping array indekser (index%length), implementere ring buffere, distribuere elementer til bøtter i hash tabeller (hash%size), rotere gjennom stater i en tilstand maskin, og sikre periodiske hendelser brann på hver n-te iterasjon (counter%n==0).

Hva er klokke aritmetikk?

En 12-timers klokke bruker mod 12: 11 klokke + 3 timer = (11+3) mod 12 = 2 klokke. Denne wrap-around oppførselen er nøyaktig modulær aritmetikk. På samme måte bruker ukedager mod 7, og militær tid bruker mod 24 for timer.

Hvorfor er modulo viktig i kryptografi?

Modulær aritmetikk gjør enveisfunksjoner mulig. Beregning av g^a mod p (given g, a, p) er rask, men å finne en gitt g^a mod p og p (det diskrete logaritmeproblemet) er beregningsmessig umulig for store primtall. Denne asymmetrien underbygger Diffie-Hellman nøkkelutveksling, RSA, og de fleste offentlige nøkkelkryptografi som beskytter internettkommunikasjon.

Hva er resultatet av et tall mod 1?

Ethvert heltall mod 1 = 0. Å dele med 1 etterlater alltid ingen rest - hvert heltall er perfekt delbart med 1. Dette er matematisk konsistent: a = ax1 + 0, så resten er alltid 0.

Modulo i hverdagen: Praktiske eksempler

Modulær aritmetikk dukker opp mye oftere i hverdagen enn folk flest innser. I det øyeblikket du leser en klokke, beregner når en ukentlig hendelse gjentar seg, sjekker om et tall er delbart med 9, eller ser på det siste sifret i et år for å bestemme hvilken dag i uken et jubileum faller på, gjør du modulær aritmetikk - selv om du ikke bruker det navnet for det.

Planlegging og tilbakevending:Hvis en hendelse skjer hver 7. dag og i dag er tirsdag (dag 2, null-indekserte fra søndag = 0), så 30 dager fra nå er (2+30) mod 7 = 32 mod 7 = 4, som er torsdag. Denne direkte beregningen er raskere enn å telle uker og dager separat.

Digitale kontrollsiffer:ISBN-13 barkodestandarden bruker modulo 10. Det siste sifret i ISBN-13 er valgt slik at den vektede summen av alle 13 sifrene er delbar med 10. Hvis du feiltyper et enkelt siffer når du skriver inn en bok ISBN, vil sjekken mislykkes (mod 10 ≠ 0) og en feil flagges. Kredittkortnumre bruker Luhn algoritme - en mod-10 sjekk - for samme formål. ISBN-10 standard bruker mod 11, slik at detektering av enkelt transposisjoner.

Datamaskinens minne og adresser:RAM er vanligvis adressert i potens 2 (1024, 2048, 4096 byte per side). Når et program får tilgang til minne, bruker operativsystemet modulo for å beregne hvilken minne side en adresse faller innenfor: side_nummer = adresse mod side_størrelse. Cache linje valg i CPU caches bruker modulo tilsvarende. Buffer wrap-around i lydbehandling, nettverkspakke kø, og video streaming alle bruker sirkulær buffer matematikk: write_position = (write_position + 1) % buffer_size.

Kunst og musikk mønstre:Rytmiske mønstre i musikkteori analyseres ved hjelp av modulær aritmetikk. En 4/4 tidssignatur har slag 0, 1, 2, 3 gjentatte - en mod-4 syklus. Polyrytmer oppstår når to uavhengige rytmer med perioder m og n spiller samtidig; de synkroniserer hver lcmm (((, n) slag. Visuelle mønstre som flis tessellations gjentar seg med modulære perioder i to dimensjoner.

Geografiske og tidssoneberegninger:UTC-kompensasjoner varierer fra -12 til +14. Konvertering mellom tidszoner: gitt tid T i UTC, lokal tid = (T + offset) mod 24. Den resulterende verdien kan virke uintuitiv (f.eks. 23 + 5 = 28, mod 24 = 4, som betyr 4:00 AM neste dag), men mod-operasjonen håndterer midnattsgrensen riktig. Internasjonale datallinjeoverganger bruker mod 24 i kombinasjon med ukedagsberegninger ved hjelp av mod 7.

Når du ser mønsteret, vil du legge merke til modulær aritmetikk i kompileringsoptimeringer, rotasjonsalgoritmer i videospill, rund-robin-turneringsplanlegging, og belastningsbalansering på tvers av serverklynger - alt basert på det enkle, men kraftige konseptet med rest etter divisjon.