AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Potenz in Delphi

Ein Thema von moerty · begonnen am 30. Jul 2006 · letzter Beitrag vom 31. Jul 2006
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#21

Re: Potenz in Delphi

  Alt 30. Jul 2006, 22:47
Angeshen von der Delphi hilfe:
Drücke mal im QT <strg> + <space>! Scheibe dann Power und dann siehst du das:
Zitat:
function Power(const Base: Extended; const Exponent: Extended): Extended;
D.h. die Übergabewerte sind Fließkommazahlen
Bei IntPower ist das anders. (Ich vermute mal, dass IntPower schneller ist, allerdings lässt er nur Integer als Exponenten zu)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#22

Re: Potenz in Delphi

  Alt 30. Jul 2006, 23:07
Zitat von xZise:
(Ich vermute mal, dass IntPower schneller ist, allerdings lässt er nur Integer als Exponenten zu)
Der Implementierung nach nicht: Während Power über Exp(Exponent, ln(Base)) implementiert ist und damit in O(1) läuft , ist IntPower über eine (optimierte) Schleife implementiert, die in O(ln2(n)) abläuft.
Aber ich denke mal bei kleinen Exponenten könnte IntPower tatsächlich schneller sein, da weniger Operationen auf der FPU auszuführen sind.

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#23

Re: Potenz in Delphi

  Alt 31. Jul 2006, 07:56
Und vor allem werden wie der name schon sagt Binomische Formrmeln bei dem Exponenten 2 angewendet. Bei anderen Potenzen kann man lediglich die Binomischen Formeln komibieren.
Für einfaches "ausrechnen" sind sie jedoch völlig ungeeignet, sondern werden nur entweder zur Vereinfachung (Quadratische Ergänzung), oder zum "schnellen Ausmultiplizieren" benutzt.

Zitat von HERMES:
Natürlich wird da zuerst addiert! ALso Power(24+17,3) = Power(41,3)
Absolut Korrekt.

PS: Tschuldigung das ich schon was bekanntes wiederholt hab. Habe die Seite 2 übersehen.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#24

Re: Potenz in Delphi

  Alt 31. Jul 2006, 10:23
Sry, aber irgendwie verstehe ich die fetten Textstellen nicht:
Zitat von JasonDX:
Der Implementierung nach nicht: Während Power über Exp(Exponent, ln(Base)) implementiert ist und damit in O(1) läuft , ist IntPower über eine (optimierte) Schleife implementiert, die in O(ln2(n)) abläuft.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#25

Re: Potenz in Delphi

  Alt 31. Jul 2006, 10:25
O(1) bedeutet konstante Laufzeit, O(ln2(n)) bedeutet logarithmische Laufzeit.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#26

Re: Potenz in Delphi

  Alt 31. Jul 2006, 10:32
Zitat von xZise:
Sry, aber irgendwie verstehe ich die fetten Textstellen nicht:
Zitat von JasonDX:
Der Implementierung nach nicht: Während Power über Exp(Exponent, ln(Base)) implementiert ist und damit in O(1) läuft , ist IntPower über eine (optimierte) Schleife implementiert, die in O(ln2(n)) abläuft.
e**(Exponent * ln(Base)) ist eine andere Art, den Term Base**Exponent auszurechnen. Das ln(Base) beschreibt dabei den Logarithmus.

Zitat von JasonDX:
O(1) [...] O(ln2(n))
Das ist die Zeitkomplexität. Ein Algorithmus läuft immer in einer bestimmten Zeit ab.
Bspw. läuft diese Schleife:
Delphi-Quellcode:
for i := 1 to n do
  nop;
in O(n) ab, während
Delphi-Quellcode:
for i := 1 to n do
  for j := 1 to n do
    nop;
in O(n*n) abläuft.
Delphi-Quellcode:
for i := 1 to 1 do
  nop;
hat eine Zeitkomplexität von O(1).
Was das O(...) bedeutet, dauert etwas zu erklären. Stichwort Landau-Symbole bringt erklärungen

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#27

Re: Potenz in Delphi

  Alt 31. Jul 2006, 12:13
Hallo,

lieber Kinzler:

Zitat:
Bist du dir da sicher, daß er nicht 41 ^3 rechnet, was etwas anderes als (24 + 17) ^3 ist?
41^3 ist das gleiche wie (24+17)^3

Wohl in Mathe nicht so ganz aufgepasst?

Rainer
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#28

Re: Potenz in Delphi

  Alt 31. Jul 2006, 12:26
Zitat:
Wohl in Mathe nicht so ganz aufgepasst?
Lang lang ists her ...
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#29

Re: Potenz in Delphi

  Alt 31. Jul 2006, 12:28
  1. Klammern
  2. Potenzen/Logarithmen
  3. Multiplikationen/Divitionen
  4. Addtionen/Subtrahktionen
  5. Links > Rechts
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz