Wo hast du denn das her?
Das ist doch viel kürzer (obs schneller ist, weis ich nicht):
Delphi-Quellcode:
function power(x,y:extended):extended;
asm
FLD TBYTE ptr y
FLD TBYTE ptr x
FYL2X
FLD st
FRNDINT
FSUB st(1),st
FXCH
F2XM1
FLD1
FADD
FSCALE
FXCH
FSTP st
end;
Es basiert eben direkt auf 2^(y*lb(x)). Jetzt ist die Frage, wie lange FYL2X, F2XM1 und FSCALE brauchen.
Es sollte aber schneller sein als exp(y*ln(x)) direkt aus der
Unit math.
Zu Frage I:
Schau dir mal an wozu das P hinter FMUL da ist
Zu Frage II:
Weis auch nicht, siehe oben.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.