Binär exponentiering

Binär exponentiering är en algoritm för att beräkna heltalspotenser, multiplikation av ett tal med sig självt ett antal gånger, på ett effektivt sätt. Idén är att utnyttja exponentens binära representation för att reducera förfarandet till en serie kvadreringar och multiplikationer.

Algoritmen kan beskrivas på rekursiv form av

Antalet multiplikationer som krävs är av storleksordningen O(log n), vilket då exponenten är stor gör metoden oerhört mycket mer effektiv än direkt upprepad multiplikation. Till exempel krävs endast 25 multiplikationer för att med denna metod beräkna 101000000, 10 gånger sig självt en miljon gånger.

Algoritmen används med fördel för att beräkna modulära potenser, en tillämpning som har betydelse inom kryptografi.

Media som används på denna webbplats

Question book-4.svg
Författare/Upphovsman: Tkgd2007, Licens: CC BY-SA 3.0
A new incarnation of Image:Question_book-3.svg, which was uploaded by user AzaToth. This file is available on the English version of Wikipedia under the filename en:Image:Question book-new.svg