Heim > Backend-Entwicklung > C++ > Ist „pow(x, n)' oder die manuelle Multiplikation effizienter zum Quadrieren und Würfeln von Zahlen?

Ist „pow(x, n)' oder die manuelle Multiplikation effizienter zum Quadrieren und Würfeln von Zahlen?

Mary-Kate Olsen
Freigeben: 2024-11-11 02:27:02
Original
1083 Leute haben es durchsucht

Is `pow(x, n)` or manual multiplication more efficient for squaring and cubing numbers?

Was ist effizienter: pow quadrieren oder einfach mit sich selbst multiplizieren?

Im Allgemeinen für kleine Exponenten (≤ 5) , ist die Multiplikation der Zahl mit sich selbst effizienter als die Verwendung der pow-Funktion. Bei größeren Exponenten ist pow jedoch effizienter.

Das liegt daran, dass pow einen effizienteren Algorithmus verwendet, wenn der Exponent groß ist. Um beispielsweise x^5 zu berechnen, verwendet die pow-Funktion den folgenden Algorithmus:

x^5 = x * x * x * x * x
Nach dem Login kopieren

Eine fünffache Multiplikation der Zahl mit sich selbst würde jedoch die folgenden Operationen erfordern:

x * x * (x * (x * x))
Nach dem Login kopieren

Je größer der Exponent, desto deutlicher wird der Unterschied in der Effizienz zwischen den beiden Methoden.

Wie wäre es mit pow(x, 3) vs. x? * x * x // etc?

Für Exponenten ≤ 5 ist x * x * x effizienter als pow(x, 3). Für Exponenten ≥ 5 ist pow(x, 3) jedoch effizienter.

Das obige ist der detaillierte Inhalt vonIst „pow(x, n)' oder die manuelle Multiplikation effizienter zum Quadrieren und Würfeln von Zahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage