Kalkulačka modulárního umocňování
Vypočítejte (základ^exponent) mod m rychle a přesně pomocí binárního umocňování opakovaným umocňováním na druhou.
Computed with exponentiation by squaring
Jak tato kalkulačka funguje?
Modulární umocňování najde (základ^exponent) mod m. Místo přímého výpočtu obrovské mocniny používá binární umocňování opakovaným umocňováním na druhou: v každém kroku umocní základ na druhou a exponent zmenší na polovinu, přičemž při nastavených bitech násobí do výsledku a průběžně redukuje mod m. To běží asi v log2(exponent) násobeních a zůstává přesné s velkými celými čísly.
Vzorec
How this is calculated
Zadejte tři celá čísla: základ b, nezáporný exponent e a kladný modul m. Kalkulačka vrátí zbytek b umocněného na e po dělení m. Naivní výpočet b^e jako prvního by pro velké exponenty přetekl, takže tento nástroj používá umocňování opakovaným umocňováním na druhou (nazývané také binární umocňování).
Algoritmus začíná s result = 1 a redukuje základ modulo m. Poté prochází bity exponentu od nejméně po nejvíce významný: kdykoli je aktuální bit 1, vynásobí průběžný výsledek aktuálním základem (mod m) a v každém kroku umocní základ na druhou (mod m) a posune exponent o jeden bit doprava. Protože se každý mezisoučin redukuje modulo m, čísla zůstávají malá a práce je úměrná log2(e) násobením místo e násobení. Veškerá aritmetika se provádí s JavaScript BigInt, takže výsledky jsou přesné bez ohledu na velikost.
Předpoklady a okrajové případy: exponent musí být celé číslo e >= 0 a modul musí být kladné celé číslo m > 0 (mod 0 je nedefinováno). Základ může být záporný; nejprve se normalizuje do rozsahu 0..m-1 pomocí ((b mod m) + m) mod m, takže vrácený zbytek je vždy nezáporný. Když e = 0, výsledek je 1 mod m. Když m = 1, výsledek je vždy 0.
Často kladené otázky
Pro velké exponenty je b^e astronomicky velké a pomalé nebo nemožné uložit. Redukce modulo m při každém násobení udržuje každou hodnotu pod m a skončí asi v log2(e) krocích.
Ano. Základ se před smyčkou normalizuje do 0..m-1 pomocí ((b mod m) + m) mod m, takže záporný základ stále dává správný nezáporný zbytek.
Podle konvence b^0 = 1, takže výsledek je 1 mod m (což je 0, když m = 1).
Také známé jako
TG we-Calculate Editorial Team. (2026). Kalkulačka modulárního umocňování [Online calculator]. TG we-Calculate. https://we-calculate.com/cs/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Kalkulačka modulárního umocňování." TG we-Calculate. 2026. https://we-calculate.com/cs/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Kalkulačka modulárního umocňování," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/cs/calculator/modular-exponentiation-calculator
@misc{wecalculate_modular_exponentiation_calculator, title = {Kalkulačka modulárního umocňování}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/cs/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }
Pomohla vám tato kalkulačka?
