Advanced

Beregner for modulær potensopløftning

Beregn (base^eksponent) mod m hurtigt og eksakt ved hjælp af binær potensopløftning ved kvadrering.
Integer base
Non-negative integer
Positive integer
Result: (base^exponent) mod m
9

Computed with exponentiation by squaring

Grundtal
7
Eksponent
256
Modulus
13
Result
9
01.63.34.96.58.19.811.413Result lands within [0, m)
Resultaterne er skøn, der kun gives til generel information og er ikke professionel rådgivning — verificér altid vigtige resultater uafhængigt, før du forlader dig på dem. Læs hele ansvarsfraskrivelsen.
Hurtigt svar

Hvordan fungerer denne lommeregner?

Modulær potensopløftning finder (base^eksponent) mod m. I stedet for at beregne den enorme potens direkte bruger den binær potensopløftning ved kvadrering: kvadrér basen og halver eksponenten ved hvert trin, multiplicer ind i resultatet ved satte bit, og reducer mod m hele vejen. Dette kører i omkring log2(eksponent) multiplikationer og forbliver eksakt med store heltal.

Formel
resultat = (base^eksponent) mod m, via kvadrering: mens e > 0, hvis e er ulige resultat = resultat·b mod m, derefter b = b·b mod m, e = e >> 1
How this is calculated

Indtast tre heltal: basen b, en ikke-negativ eksponent e og en positiv modulus m. Beregneren returnerer resten af b opløftet i e, når den divideres med m. At beregne b^e først naivt ville overløbe for store eksponenter, så dette værktøj bruger potensopløftning ved kvadrering (også kaldet binær potensopløftning).

Algoritmen starter med resultat = 1 og reducerer basen modulo m. Den gennemløber derefter eksponentens bit fra mindst til mest betydende: når den aktuelle bit er 1, multiplicerer den det løbende resultat med den aktuelle base (mod m), og ved hvert trin kvadrerer den basen (mod m) og forskyder eksponenten en bit til højre. Da hvert mellemliggende produkt reduceres modulo m, forbliver tallene små, og arbejdet er proportionalt med log2(e) multiplikationer i stedet for e af dem. Al aritmetik udføres med JavaScript BigInt, så resultaterne er eksakte uanset størrelse.

Forudsætninger og specialtilfælde: eksponenten skal være et helt tal e >= 0, og modulus skal være et positivt heltal m > 0 (mod 0 er udefineret). Basen må være negativ; den normaliseres først ind i området 0..m-1 ved hjælp af ((b mod m) + m) mod m, så den returnerede rest altid er ikke-negativ. Når e = 0 er resultatet 1 mod m. Når m = 1 er resultatet altid 0.

Ofte stillede spørgsmål

For store eksponenter er b^e astronomisk stort og langsomt eller umuligt at gemme. At reducere modulo m ved hver multiplikation holder hver værdi under m og afslutter i omkring log2(e) trin.

Ja. Basen normaliseres ind i 0..m-1 før løkken ved hjælp af ((b mod m) + m) mod m, så en negativ base giver stadig en korrekt ikke-negativ rest.

Ved konvention er b^0 = 1, så resultatet er 1 mod m (hvilket er 0, når m = 1).

Også kendt som

modulær potens
potens mod
modpow
a^b mod m
hurtig potens
modular exponentiation
potens modulo

APA

TG we-Calculate Editorial Team. (2026). Beregner for modulær potensopløftning [Online calculator]. TG we-Calculate. https://we-calculate.com/da/calculator/modular-exponentiation-calculator

Chicago

TG we-Calculate Editorial Team. "Beregner for modulær potensopløftning." TG we-Calculate. 2026. https://we-calculate.com/da/calculator/modular-exponentiation-calculator.

IEEE

TG we-Calculate Editorial Team, "Beregner for modulær potensopløftning," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/da/calculator/modular-exponentiation-calculator

BibTeX

@misc{wecalculate_modular_exponentiation_calculator, title = {Beregner for modulær potensopløftning}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/da/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }

Hjalp denne lommeregner dig?