alternative zu pow()?

#2884722
Lesenswert?
• ▲
▼
Das kommt drauf an.
Wie sieht denn dein Exponent aus?

pow( x, 2 )  ist ja nichts anderes als x*x
und pow( x, 3)   ist nichts anderes als x*x*x

hast du einen ganzzahligen Exponenten, dann kannst du einfach mal die 
entsprechenden Multiplikationen ausrollen.

ein sqrt( x ) würde ich aus dem Bauch heraus auch mal als schneller 
einschätzen als ein pow( x, 0.5 )
#2884731
Lesenswert?
• ▲
▼
Du musst schon genauere Angaben machen, sonst können wir die ja nix 
passendes vorschlagen. Welchen Wertebereich und welche Genauigkeit haben 
deine Eingangsparameter x,y für pow(x,y)? Und was ist dein 
Anwendungsfall? Sehr oft stellt sich bei Performancesachen heraus, dass 
das Problem einfach nur ungeschickt angegangen wurde.
Gast #2884963
Lesenswert?
• ▲
▼
ui, danke für die schnellen Antworten

Es muss die Formel umgesetzt werden:
y = k * x^exp

Werte im Intervall [von; bis]
k = 16.37 (double)
exp = 0.39 (doube)
x = [0; 249] (eignetlich int, aber muss wohl auf double umgewandelt 
werden)

Genauigkeit mindestens 2 Nachkommastellen

Die Formel muss etwa 1000 mal pro Sekunde gerechnet werden, was den 
Prozessor (16MHz) schon gut auslastet

Marco M. schrieb:
> Du musst schon genauere Angaben machen, sonst können wir die ja nix
> passendes vorschlagen. Welchen Wertebereich und welche Genauigkeit haben
> deine Eingangsparameter x,y für pow(x,y)? Und was ist dein
> Anwendungsfall? Sehr oft stellt sich bei Performancesachen heraus, dass
> das Problem einfach nur ungeschickt angegangen wurde.

Aber ich liebe dieses Forum so sehr, weil mir so oft schon Ideen und 
Lösungen eingefallen sind, NACHDEM ich ne Frage formuliert und gepostet 
habe :-)
Mir ist gerade klar geworden, das k und exp ja zur Laufzeit konstant 
sind, deshalb kann ich ja eigentlich x^exp für alle 250 Möglichkeiten im 
Voraus berechnen und muss "nur" noch *k rechnen.

Und diese Multiplikation kann man sicher auf "Integer*Interer" umformen 
und trotzdem meine gewünschte Genauigkeit zu behalten.
#2885231
Lesenswert?
• ▲
▼
Cheater schrieb:
> ich bin blöd, ich kann ja ALLES im Voraus berechnen und abspeichern...
> man bin ich doof

In irgendeinem Buch las ich, dass es an einer Uni in Amerika einen Teddy 
gab, dem die Studenten zuerst ihr Problem vortragen mussten, bevor sie 
damit zum Prof durften.
Wenn man sich sein Problem vergegenwärtigt, dann findet man oft selbst 
die Lösung.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.