wie soll man die methode ohne mathe.pow schreiben ?

4 Antworten

Sofern der Exponent ganzzahlig ist, kann man das durch Produkte ersetzen. Beispiel x^3 = x*x*x oder x^(-5) = 1/(x*x*x*x*x).

Die Produktbildung könnte man in einer for-Schleife mit dem Exponenten als Zähler laufen lassen.

Ist der Exponent nicht ganzzahlig, wird es schwierig. Dann bliebe nur noch eine Reihenentwicklung nach Taylor inklusive Fehlerabschätzung.

a^b = exp(b log(a))

vgl. https://stackoverflow.com/questions/17891595/pow-vs-exp-performance

Bei einem Integer als Exponent kommt man mit anderen Methoden schneller zum Ziel. Da gibt es ein Standardverfahren mit "while (exponent)", "if (exponent & 1)" und "exponent>>1")

Woher ich das weiß:Berufserfahrung – Software-Entwickler
PWolff  16.11.2017, 14:23

Wobei man bei Java vermutlich noch dafür sorgen muss, dass die Bedingungen auch den richtigen Typ, nämlich bool, haben:

"(zahlausdruck)" durch "((zahlausdruck)!=0)" ersetzen.

0

math.pow ist induktiv definiert als
f (b,0) = 1
f (b,e) = b* f (b,e-1)

das einfach übernehmen

PWolff  16.11.2017, 14:18

Nur für natürliche (= nicht-negative ganzzahlige) Exponenten.

0

Denk doch nach, was bedeutet a^b ausgeschrieben?

Tipp: Schleife benutzen.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium