Beregner for modulær potensopløftning
Beregn (base^eksponent) mod m hurtigt og eksakt ved hjælp af binær potensopløftning ved kvadrering.
Computed with exponentiation by squaring
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
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
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
TG we-Calculate Editorial Team. "Beregner for modulær potensopløftning." TG we-Calculate. 2026. https://we-calculate.com/da/calculator/modular-exponentiation-calculator.
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
@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?
