Kalkylator för modulär exponentiering
Beräkna (bas^exponent) mod m snabbt och exakt med binär exponentiering genom kvadrering.
Computed with exponentiation by squaring
Hur fungerar denna kalkylator?
Modulär exponentiering beräknar (bas^exponent) mod m. I stället för att beräkna den enorma potensen direkt används binär exponentiering genom kvadrering: kvadrera basen och halvera exponenten i varje steg, multiplicera in i resultatet vid satta bitar och reducera mod m genomgående. Detta kräver ungefär log2(exponent) multiplikationer och är exakt med stora heltal.
Formel
How this is calculated
Ange tre heltal: basen b, en icke-negativ exponent e och en positiv modulus m. Kalkylatorn returnerar resten av b upphöjt till e dividerat med m. Att naivt beräkna b^e direkt skulle orsaka spill för stora exponenter, så det här verktyget använder exponentiering genom kvadrering (även kallad binär exponentiering).
Algoritmen startar med result = 1 och reducerar basen modulo m. Den går sedan igenom exponentens bitar från minst till mest signifikant: när den aktuella biten är 1 multipliceras det löpande resultatet med den aktuella basen (mod m), och i varje steg kvadreras basen (mod m) och exponenten skiftas ett steg åt höger. Eftersom varje mellanprodukt reduceras modulo m förblir talen små och arbetet är proportionellt mot log2(e) multiplikationer i stället för e stycken. All aritmetik utförs med JavaScripts BigInt så resultaten är exakta oavsett storlek.
Antaganden och gränsfall: exponenten måste vara ett heltal e >= 0 och modulus måste vara ett positivt heltal m > 0 (mod 0 är odefinierat). Basen kan vara negativ; den normaliseras först till intervallet 0..m-1 med ((b mod m) + m) mod m, så den returnerade resten är alltid icke-negativ. När e = 0 är resultatet 1 mod m. När m = 1 är resultatet alltid 0.
Vanliga frågor
För stora exponenter är b^e astronomiskt stort och långsamt eller omöjligt att lagra. Att reducera modulo m vid varje multiplikation håller varje värde under m och avslutar på ungefär log2(e) steg.
Ja. Basen normaliseras till 0..m-1 före loopen med ((b mod m) + m) mod m, så en negativ bas ger ändå en korrekt icke-negativ rest.
Per konvention är b^0 = 1, så resultatet är 1 mod m (vilket är 0 när m = 1).
Även känt som
TG we-Calculate Editorial Team. (2026). Kalkylator för modulär exponentiering [Online calculator]. TG we-Calculate. https://we-calculate.com/sv/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Kalkylator för modulär exponentiering." TG we-Calculate. 2026. https://we-calculate.com/sv/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Kalkylator för modulär exponentiering," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/sv/calculator/modular-exponentiation-calculator
@misc{wecalculate_modular_exponentiation_calculator, title = {Kalkylator för modulär exponentiering}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/sv/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }
Hjälpte denna kalkylator dig?
