Moduláris hatványozás kalkulátor
Számítsd ki (base^exponent) mod m értékét gyorsan és pontosan kettes (négyzetre emeléses) hatványozással.
Computed with exponentiation by squaring
Hogyan működik ez a kalkulátor?
A moduláris hatványozás (base^exponent) mod m értékét adja. A hatalmas hatvány közvetlen kiszámítása helyett kettes hatványozást használ négyzetre emeléssel: minden lépésben négyzetre emeli az alapot és felezi a kitevőt, a beállított biteknél beszorozva az eredménybe, végig modulo m redukálva. Ez körülbelül log2(exponent) szorzásban fut, és nagy egész számokkal pontos marad.
Képlet
How this is calculated
Adj meg három egész számot: a b alapot, egy nemnegatív e kitevőt és egy pozitív m modulust. A kalkulátor b e-edik hatványának m-mel való osztási maradékát adja vissza. A b^e naiv kiszámítása nagy kitevőkre túlcsordulna, ezért ez az eszköz négyzetre emeléses hatványozást (más néven kettes hatványozást) használ.
Az algoritmus result = 1-gyel indul, és az alapot modulo m redukálja. Ezután a kitevő bitjein halad végig a legkisebbtől a legjelentősebbig: valahányszor az aktuális bit 1, megszorozza a futó eredményt az aktuális alappal (mod m), és minden lépésben négyzetre emeli az alapot (mod m), és egy bittel jobbra tolja a kitevőt. Mivel minden köztes szorzat modulo m redukálódik, a számok kicsik maradnak, és a munka log2(e) szorzással arányos e helyett. Minden számítás JavaScript BigInt-tel történik, így az eredmények mérettől függetlenül pontosak.
Feltételezések és határesetek: a kitevőnek egész e >= 0-nak kell lennie, a modulusnak pedig pozitív egész m > 0-nak (a mod 0 nem értelmezett). Az alap lehet negatív; először a 0..m-1 tartományba normalizáljuk a ((b mod m) + m) mod m segítségével, így a visszaadott maradék mindig nemnegatív. Amikor e = 0, az eredmény 1 mod m. Amikor m = 1, az eredmény mindig 0.
Gyakran ismételt kérdések
Nagy kitevőkre b^e csillagászatian hatalmas, és lassan vagy egyáltalán nem tárolható. Minden szorzásnál modulo m redukálva minden érték m alatt marad, és körülbelül log2(e) lépésben befejeződik.
Igen. Az alapot a ciklus előtt 0..m-1-be normalizáljuk a ((b mod m) + m) mod m segítségével, így egy negatív alap is helyes nemnegatív maradékot ad.
Konvenció szerint b^0 = 1, így az eredmény 1 mod m (ami 0, amikor m = 1).
Más néven
TG we-Calculate Editorial Team. (2026). Moduláris hatványozás kalkulátor [Online calculator]. TG we-Calculate. https://we-calculate.com/hu/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Moduláris hatványozás kalkulátor." TG we-Calculate. 2026. https://we-calculate.com/hu/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Moduláris hatványozás kalkulátor," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/hu/calculator/modular-exponentiation-calculator
@misc{wecalculate_modular_exponentiation_calculator, title = {Moduláris hatványozás kalkulátor}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/hu/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }
Segített ez a kalkulátor?
