Advanced

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.
Integer base
Non-negative integer
Positive integer
Result: (base^exponent) mod m
9

Computed with exponentiation by squaring

Základna
7
Exponent
256
Modulus
13
Result
9
01.63.34.96.58.19.811.413Result lands within [0, m)
Výsledky jsou pouze orientační odhady pro obecné informační účely a nejsou odborným poradenstvím — důležité výsledky si vždy nezávisle ověřte, než se na ně spolehnete. Přečíst si úplné právní upozornění.
Rychlá odpověď

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
výsledek = (základ^exponent) mod m, přes umocňování na druhou: dokud e > 0, je-li e liché result = result·b mod m, poté b = b·b mod m, e = e >> 1
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

modulární mocnění
mocnina modulo
modpow
a na b mod m
rychlé mocnění
modulární exponenciace
mocnina mod kalkulačka

APA

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

Chicago

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.

IEEE

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

BibTeX

@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?