Advanced

Kalkulator potęgowania modularnego

Oblicz (podstawa^wykładnik) mod m szybko i dokładnie metodą binarnego potęgowania przez podnoszenie do kwadratu.
Integer base
Non-negative integer
Positive integer
Result: (base^exponent) mod m
9

Computed with exponentiation by squaring

Podstawa
7
Wykładnik
256
Modulus
13
Result
9
01.63.34.96.58.19.811.413Result lands within [0, m)
Wyniki są jedynie szacunkami o charakterze ogólnoinformacyjnym i nie stanowią profesjonalnej porady — zawsze samodzielnie zweryfikuj ważne wyniki, zanim na nich polegniesz. Przeczytaj pełne zastrzeżenie.
Szybka odpowiedź

Jak działa ten kalkulator?

Potęgowanie modularne wyznacza (podstawa^wykładnik) mod m. Zamiast bezpośrednio obliczać ogromną potęgę, algorytm używa binarnego potęgowania przez podnoszenie do kwadratu: podnosi podstawę do kwadratu i dzieli wykładnik przez 2 na każdym kroku, mnożąc wynik przy ustawionych bitach i redukując mod m na bieżąco. Działa w około log2(wykładnik) mnożeniach i jest dokładny dzięki dużym liczbom całkowitym.

Wzór
wynik = (podstawa^wykładnik) mod m, przez podnoszenie do kwadratu: dopóki e > 0, jeśli e nieparzyste wynik = wynik·b mod m, następnie b = b·b mod m, e = e >> 1
How this is calculated

Podaj trzy liczby całkowite: podstawę b, nieujemny wykładnik e oraz dodatni moduł m. Kalkulator zwraca resztę z dzielenia b do potęgi e przez m. Bezpośrednie obliczenie b^e byłoby niemożliwe dla dużych wykładników z powodu przepełnienia, dlatego narzędzie stosuje potęgowanie przez podnoszenie do kwadratu (znane też jako binarne potęgowanie).

Algorytm zaczyna od wyniku = 1 i redukuje podstawę modulo m. Następnie przegląda bity wykładnika od najmniej znaczącego do najbardziej znaczącego: gdy bieżący bit wynosi 1, mnoży bieżący wynik przez aktualną podstawę (mod m); w każdym kroku podnosi podstawę do kwadratu (mod m) i przesuwa wykładnik o jeden bit w prawo. Ponieważ każdy iloczyn pośredni jest redukowany modulo m, liczby pozostają małe, a nakład pracy jest proporcjonalny do log2(e) mnożeń zamiast e. Wszelkie obliczenia są wykonywane przy użyciu JavaScript BigInt, więc wyniki są dokładne niezależnie od rozmiaru.

Założenia i przypadki brzegowe: wykładnik musi być liczbą całkowitą e >= 0, a moduł dodatnią liczbą całkowitą m > 0 (mod 0 jest nieokreślone). Podstawa może być ujemna — jest najpierw normalizowana do zakresu 0..m-1 za pomocą ((b mod m) + m) mod m, więc zwracana reszta jest zawsze nieujemna. Gdy e = 0, wynik wynosi 1 mod m. Gdy m = 1, wynik wynosi zawsze 0.

Najczęściej zadawane pytania

Dla dużych wykładników b^e jest astronomicznie duże i powolne lub niemożliwe do przechowania. Redukowanie modulo m przy każdym mnożeniu utrzymuje każdą wartość poniżej m i kończy obliczenia w około log2(e) krokach.

Tak. Podstawa jest normalizowana do zakresu 0..m-1 przed pętlą za pomocą ((b mod m) + m) mod m, więc ujemna podstawa nadal daje poprawną nieujemną resztę.

Z definicji b^0 = 1, więc wynik wynosi 1 mod m (czyli 0, gdy m = 1).

Znany również jako

potęgowanie modularne
potęga modulo
a do potęgi b modulo m
modpow
szybkie potęgowanie
kalkulator potęgi modularnej

APA

TG we-Calculate Editorial Team. (2026). Kalkulator potęgowania modularnego [Online calculator]. TG we-Calculate. https://we-calculate.com/pl/calculator/modular-exponentiation-calculator

Chicago

TG we-Calculate Editorial Team. "Kalkulator potęgowania modularnego." TG we-Calculate. 2026. https://we-calculate.com/pl/calculator/modular-exponentiation-calculator.

IEEE

TG we-Calculate Editorial Team, "Kalkulator potęgowania modularnego," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/pl/calculator/modular-exponentiation-calculator

BibTeX

@misc{wecalculate_modular_exponentiation_calculator, title = {Kalkulator potęgowania modularnego}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/pl/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }

Czy ten kalkulator Ci pomógł?