08/2008 - KaffeeKlatsch
08/2008 - KaffeeKlatsch
08/2008 - KaffeeKlatsch
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Methoden dies zu tun sind so aufwendig, dass man mit<br />
der binären Exponentiation besser fährt.<br />
Für wirklich große Potenzen, wie sie zum Beispiel in<br />
der Kryptographie benötigt werden, ist die schnelle<br />
Exponentiation auf jeden Fall eine gute Wahl und<br />
Java benutzt diese. Die Reduktion des Aufwands der<br />
Berechnung von n k von k - 1 Multiplikationen auf nur<br />
log 2 k + numberOfBits(k) - 1 Multiplikationen ist dabei<br />
ein enormer Gewinn.<br />
Um dies zu verdeutlichen soll n 1024 (1024 = 10000000000 2 )<br />
gerechnet werden: Anstatt 1023 Multiplikationen zu benötigen,<br />
braucht man nur noch log 2 1024 + 1 - 1 = 10<br />
Multiplikationen. Selbst bei n 1023 (1023 = 1111111111 2 )<br />
konkurrieren 1022 Multiplikationen mit unschlagbaren<br />
9 + 10 - 1 = 18 Multiplikationen.<br />
Das beste Potenz-Mittel<br />
Bei Integer-Werten wird einfach auf die entsprechende<br />
Operation des Prozessors zugegriffen (z. B. mit Math.<br />
pow(int)), denn das geht natürlich am schnellsten. Für<br />
große Zahlen, also wenn man in Java beispielsweise die<br />
Klasse BigInteger verwendet, wird auch hier die binäre<br />
Exponentiation angewendet. Dann spielt nämlich – insbesondere<br />
bei großen Zahlen – jede Multiplikation eine<br />
sehr große Rolle. Und deshalb werden die Sonderfälle 0<br />
und 1 selbstverständlich immer gesondert behandelt, um<br />
wirklich jedes unnötige Rechnen zu vermeiden.<br />
Referenzen<br />
[1] Kulkarni, Amba Recursion and Combinatorial Mathematics in Chandashaastra,<br />
http://arxiv.org/abs/math/0703658v2<br />
[2] Wikipedia Natürliche Zahlen,<br />
http://de.wikipedia.org/wiki/Peano-Axiome<br />
[3] Wikipedia Horner-Schema,<br />
http://de.wikipedia.org/wiki/Horner_Schema<br />
[4] Wikipedia Teile und herrsche,<br />
http://de.wikipedia.org/wiki/Teile_und_herrsche_(Informatik)<br />
Kurzbiographie<br />
Jörn Hahn (<br />
) ist studierter Mathematiker<br />
und als Softwareentwickler und Trainer für die MATHEMA Software<br />
GmbH tätig. Zu seinen Themenschwerpunkten gehören Software-Entwicklung<br />
unter Java, JSF und Neuerungen der Programmiersprache<br />
Java.<br />
Kurzbiographie<br />
Michael Wiedeking (<br />
) ist Gründer<br />
und Geschäftsführer der MATHEMA Software GmbH, die sich von<br />
Anfang an mit Objekttechnologien und dem professionellen Einsatz von<br />
Java einen Namen gemacht hat. Er ist Java-Programmierer der ersten<br />
Stunde, „sammelt“ Programmiersprachen und beschäftigt sich mit deren Design und<br />
Implementierung.<br />
Herbstcampus<br />
Wissenstransfer par excellence<br />
15. bis 18. September 20<strong>08</strong> in Nürnberg<br />
Das gesamte<br />
Herbstcampus-<br />
Programm<br />
finden Sie auf<br />
Seite 31<br />
oder im Internet unter<br />
www.herbstcampus.de<br />
Copyright © 20<strong>08</strong> Bookware 1865-682x/<strong>08</strong>/<strong>08</strong>/004 Von diesem <strong>KaffeeKlatsch</strong>-<br />
Artikel dürfen nur dann gedruckte oder digitale Kopien im Ganzen oder in Teilen gemacht<br />
werden, wenn deren Nutzung ausschließlich privaten oder schulischen Zwecken<br />
dient. Des Weiteren dürfen jene nur dann für nicht-kommerzielle Zwecke kopiert , verteilt<br />
oder ver trieben werden, wenn diese Notiz und die vollständigen Artikel angaben<br />
der ersten Seite (Ausgabe, Autor, Titel, Untertitel) erhalten bleiben. Jede andere<br />
Art der Vervielfältigung – ins besondere die Publikation auf Servern und die Verteilung<br />
über Listen – erfordert eine spezielle Genehmigung und ist möglicherweise mit<br />
Gebühren verbunden.<br />
Seite 22 <strong>KaffeeKlatsch</strong> Jahrgang Jahrgang 0 / Nr. 1 / 12 Nr. / 8 Dezember / August 20<strong>08</strong> 2007