Modulaarisen potenssin laskin
Laske (kantaluku^eksponentti) mod m nopeasti ja tarkasti käyttäen binääristä potenssiinkorotusta neliöimällä.
Computed with exponentiation by squaring
Miten tämä laskin toimii?
Modulaarinen potenssiinkorotus löytää (kantaluku^eksponentti) mod m. Sen sijaan että suuri potenssi laskettaisiin suoraan, se käyttää binääristä potenssiinkorotusta neliöimällä: neliöi kantaluku ja puolita eksponentti joka askeleella, kertomalla tulokseen asetetuilla biteillä, pelkistäen mod m koko ajan. Tämä toimii noin log2(eksponentti) kertolaskussa ja pysyy tarkkana suurilla kokonaisluvuilla.
Kaava
How this is calculated
Syötä kolme kokonaislukua: kantaluku b, ei-negatiivinen eksponentti e ja positiivinen moduli m. Laskin palauttaa b:n korotettuna e:een jäännöksen, kun se jaetaan m:llä. b^e:n laskeminen ensin naiivisti ylivuotaisi suurilla eksponenteilla, joten tämä työkalu käyttää potenssiinkorotusta neliöimällä (kutsutaan myös binääriseksi potenssiinkorotukseksi).
Algoritmi alkaa arvosta tulos = 1 ja pelkistää kantaluvun modulo m. Sitten se kulkee eksponentin bittien läpi vähiten merkitsevästä merkitsevimpään: aina kun nykyinen bitti on 1, se kertoo kulkevan tuloksen nykyisellä kantaluvulla (mod m), ja joka askeleella se neliöi kantaluvun (mod m) ja siirtää eksponenttia oikealle yhden bitin. Koska jokainen väli-tulo pelkistetään modulo m, luvut pysyvät pieninä ja työmäärä on verrannollinen log2(e) kertolaskuun sen sijaan että niitä olisi e kappaletta. Kaikki laskenta tehdään JavaScriptin BigIntillä, joten tulokset ovat tarkkoja koosta riippumatta.
Oletukset ja erikoistapaukset: eksponentin on oltava kokonaisluku e >= 0 ja modulin on oltava positiivinen kokonaisluku m > 0 (mod 0 on määrittelemätön). Kantaluku voi olla negatiivinen; se normalisoidaan ensin alueelle 0..m-1 käyttäen ((b mod m) + m) mod m, joten palautettu jäännös on aina ei-negatiivinen. Kun e = 0, tulos on 1 mod m. Kun m = 1, tulos on aina 0.
Usein kysytyt kysymykset
Suurilla eksponenteilla b^e on tähtitieteellisen suuri ja hidas tai mahdoton tallentaa. Pelkistäminen modulo m joka kertolaskussa pitää jokaisen arvon alle m:n ja päättyy noin log2(e) askeleessa.
Kyllä. Kantaluku normalisoidaan alueelle 0..m-1 ennen silmukkaa käyttäen ((b mod m) + m) mod m, joten negatiivinen kantaluku tuottaa silti oikean ei-negatiivisen jäännöksen.
Käytännön mukaan b^0 = 1, joten tulos on 1 mod m (joka on 0 kun m = 1).
Tunnetaan myös nimellä
TG we-Calculate Editorial Team. (2026). Modulaarisen potenssin laskin [Online calculator]. TG we-Calculate. https://we-calculate.com/fi/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Modulaarisen potenssin laskin." TG we-Calculate. 2026. https://we-calculate.com/fi/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Modulaarisen potenssin laskin," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/fi/calculator/modular-exponentiation-calculator
@misc{wecalculate_modular_exponentiation_calculator, title = {Modulaarisen potenssin laskin}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/fi/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }
Oliko tästä laskimesta sinulle apua?
