AGB  ·  Datenschutz  ·  Impressum  







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

Wurzeln Wie schreibt man die

Ein Thema von Axxus · begonnen am 9. Nov 2006 · letzter Beitrag vom 10. Nov 2006
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
mkinzler
(Moderator)

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

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 18:15
Um beliebig große (Integer-)Zahlen speichern u können brauchst du einen sogennaten VLI (Very Long Integer)
http://www.lang-ib.de/Delphi-Ecke/Tr...s/vli/vli.html
http://www.gk-informatik.de/oop/vlint.html
Markus Kinzler
  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
 
#32

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 18:19
Hmm, seltsam...
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
mkinzler
(Moderator)

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

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 18:21
Zitat von 3_of_8:
Sicher?
Wen meinst du jetzt?
Markus Kinzler
  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
 
#34

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 18:22
Hawkeye.

Hab aber rausgefunden, dass es tatsächlich so ist, wobei ich gedacht hätte, dass der Compiler intelligent genug ist, um das zu merken.

Schließlich führt er einen impliziten Cast aus und kann dann auch gleich mit Extended rechnen.
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
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#35

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 18:25
Hallo 9. Klasse (undeutlich erinner )

ungültige Gleitkommaoperation.
Deine Zahlen sind zu gross vom Wertebereich her.
Oder zu ziehst eine Wurzel aus einer negativen Zahl.

Byte kann z.B. nur 256 Zahlen.
Was hast du denn für einen Variablentyp ? Double ?

Tipp mal in der Hilfe Extended ein,
dann siehst, wie gross die jeweiligen Zahlen werdne dürfen.

In deinem Fall würde ich direkt Extended statt Double probieren.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#36

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 18:32
Zitat von hoika:
Hallo 9. Klasse (undeutlich erinner )

ungültige Gleitkommaoperation.
Deine Zahlen sind zu gross vom Wertebereich her.
Oder zu ziehst eine Wurzel aus einer negativen Zahl.

Byte kann z.B. nur 256 Zahlen.
Was hast du denn für einen Variablentyp ? Double ?

Tipp mal in der Hilfe Extended ein,
dann siehst, wie gross die jeweiligen Zahlen werdne dürfen.

In deinem Fall würde ich direkt Extended statt Double probieren.


Heiko
Schon mal was von dem Wort "lesen" gehört? Das wurde alles schon gesagt ~.~^^
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#37

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 19:48
Delphi-Quellcode:
z1 := x*x + y*y;
z := sqrt (z1);
Das ließe sich optimieren:

z := Hypot(x, y); Unit Math einbinden nicht vergessen.
  Mit Zitat antworten Zitat
rayman

Registriert seit: 31. Jul 2003
Ort: Lohsdorf
40 Beiträge
 
Delphi 6 Enterprise
 
#38

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 20:11
Ich glaube du kommst da mit einem anderen Ansatz besser:

Die Tripel kann man nämlich auch ausrechnen!

Du suchst dir einfach beliebige Zahlen a und b, wobei b immer kleiner sein sollte als a. Dann kannst du dir die 3 Zahlen ausrechnen:
x := a*a - b*b;
y := 2 * a*b;
z := a*a + b*b;

für a=2 und b=1 kriegst du z.B.
x=3, y=4 und z=5

Also nimm zwei Schleifen ineinander (so wie du's jetzt auch hast) für a und b und dann rechnest du die tripel alle nacheinander aus. Da brauchst du keine Wurzeln und es dürfte wesentlich schneller gehen.

gruß raYman
  Mit Zitat antworten Zitat
Axxus

Registriert seit: 3. Okt 2006
212 Beiträge
 
Turbo Delphi für Win32
 
#39

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 21:08
ich kann x und y aber nur als integer vereinbarren da ich eine for do Schleife hab und die Variable muss von ordinarem wert sein (ich weiß zwar net (mehr) was ordinar ist aber ich glaub das es ne ganzzahl sien muss oder?) jedenfalls geht das net
mmh was mach ich
  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
 
#40

Re: Wurzeln Wie schreibt man die

  Alt 10. Nov 2006, 21:24
Ordinal heißt das, und das bedeutet, es muss ein ordinaler Typ sein. Ordinaltypen sind zum Beispiel Ganzzahlen außer Int64 und Aufzählungstypen.
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
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 01:42 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