Thema: Delphi Hochzahl ?

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Hochzahl ?

  Alt 10. Jun 2005, 18:57
Hallo Dax,

Zitat von Dax:
Warum nicht einfach so?
Delphi-Quellcode:
function MyPow(Base, Exponent: Integer): Int64;
begin
  Result := Round(Exp(Exponent * Ln(Base)));
end;
das ist generell in Ordnung. Der Vorteil der Integer-Arithmetik fällt nicht so groß aus, wie ich dachte und für große Exponenten muss ich sogar die Rekursion ausbauen, damit ich mithalten kann. Ich wusste gar nicht, dass Exp() und Ln() zur Grundausrüstung gehören.

Für alle die es interessiert:

100.000.000 Zyklen 5 hoch 10: mypow 21s rekursiv 20s nonrek 18s

negative Basen gehen mit MyPow nicht.

Grüße vom marabu
  Mit Zitat antworten Zitat