Advanced

Modulaarse astendamise kalkulaator

Arvuta (base^exponent) mod m kiiresti ja täpselt, kasutades kahendastendamist ruutudega.
Integer base
Non-negative integer
Positive integer
Result: (base^exponent) mod m
9

Computed with exponentiation by squaring

Alus
7
Astendaja
256
Modulus
13
Result
9
01.63.34.96.58.19.811.413Result lands within [0, m)
Tulemused on hinnangulised ja mõeldud üksnes üldiseks teabeks ega kujuta endast professionaalset nõuannet — kontrolli olulisi tulemusi alati sõltumatult, enne kui neile tugined. Loe täielikku lahtiütlust.
Kiire vastus

Kuidas see kalkulaator töötab?

Modulaarne astendamine leiab (base^exponent) mod m. Selle asemel, et arvutada hiiglaslik aste otse, kasutab see kahendastendamist ruutudega: ruudusta alus ja poolita astendaja igal sammul, korrutades tulemusse seatud bittidel, vähendades kogu aeg mod m. See töötab umbes log2(exponent) korrutusega ja jääb suurte täisarvudega täpseks.

Valem
result = (base^exponent) mod m, via squaring: while e > 0, if e is odd result = result·b mod m, then b = b·b mod m, e = e >> 1
How this is calculated

Sisesta kolm täisarvu: alus b, mittenegatiivne astendaja e ja positiivne moodul m. Kalkulaator tagastab b astmes e jäägi m-ga jagamisel. b^e naiivne arvutamine ületaks suurte astendajate korral piirid, seega kasutab see tööriist astendamist ruutudega (mida nimetatakse ka kahendastendamiseks).

Algoritm algab tulemusega = 1 ja vähendab aluse mooduli m järgi. Seejärel läbib see astendaja bitid kõige väiksemast kõige olulisemani: alati kui praegune bitt on 1, korrutab see jooksva tulemuse praeguse alusega (mod m), ja igal sammul ruudustab aluse (mod m) ning nihutab astendaja ühe biti võrra paremale. Kuna iga vahekorrutis vähendatakse mooduli m järgi, jäävad arvud väikeseks ja töö on võrdeline log2(e) korrutusega, mitte e korrutusega. Kogu aritmeetika tehakse JavaScripti BigInt-iga, seega tulemused on täpsed sõltumata suurusest.

Eeldused ja erijuhud: astendaja peab olema täisarv e >= 0 ja moodul peab olema positiivne täisarv m > 0 (mod 0 on määramata). Alus võib olla negatiivne; see normaliseeritakse esmalt vahemikku 0..m-1, kasutades ((b mod m) + m) mod m, seega tagastatud jääk on alati mittenegatiivne. Kui e = 0, on tulemus 1 mod m. Kui m = 1, on tulemus alati 0.

Korduma kippuvad küsimused

Suurte astendajate korral on b^e astronoomiliselt suur ning aeglane või võimatu salvestada. Mooduli m järgi vähendamine igal korrutamisel hoiab iga väärtuse alla m ja lõpetab umbes log2(e) sammuga.

Jah. Alus normaliseeritakse enne tsüklit vahemikku 0..m-1, kasutades ((b mod m) + m) mod m, seega negatiivne alus annab ikkagi õige mittenegatiivse jäägi.

Kokkuleppe järgi b^0 = 1, seega tulemus on 1 mod m (mis on 0, kui m = 1).

Tuntud ka kui

modulaarne astendamine
astme jääk
modpow
a^b mod m
kiire astendamine
aste mooduli järgi

APA

TG we-Calculate Editorial Team. (2026). Modulaarse astendamise kalkulaator [Online calculator]. TG we-Calculate. https://we-calculate.com/et/calculator/modular-exponentiation-calculator

Chicago

TG we-Calculate Editorial Team. "Modulaarse astendamise kalkulaator." TG we-Calculate. 2026. https://we-calculate.com/et/calculator/modular-exponentiation-calculator.

IEEE

TG we-Calculate Editorial Team, "Modulaarse astendamise kalkulaator," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/et/calculator/modular-exponentiation-calculator

BibTeX

@misc{wecalculate_modular_exponentiation_calculator, title = {Modulaarse astendamise kalkulaator}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/et/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }

Kas see kalkulaator aitas sind?