AGB  ·  Datenschutz  ·  Impressum  







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

Hohe Zahlen

Offene Frage von "dominikkv"
Ein Thema von dominikkv · begonnen am 15. Jul 2007 · letzter Beitrag vom 16. Jul 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#1

Hohe Zahlen

  Alt 15. Jul 2007, 13:43
Hi

ich versuche grad eine function zu schreiben die mir ausrechnet wie viel energie ich brauche um mit einem raumschiff von der erde wegzufliegen...

ich habe nen trackbar mit dem ich die höhe einstelle, diese höhe wird dann in abschnitte unterteilt und ausgerechnet wie viel energie benötigt wird um diese höhe zu überwinden

pos = die höhe insgesammt
z = anzahl der abschnitte
mPlanet, mSchiff = masse des planeten / des schiffes

Delphi-Quellcode:
function Energieberechnung(Pos, Z, mPlanet, mSchiff: Cardinal): Extended;
var h: Extended;
    I: Cardinal;
    x: Extended;
begin
  h := Pos/Z; // die höhe für jeden abschnitt
  result := 0;

  for i := 1 to Z do
    begin
      x := y * // y = constante = 6,67 * 10^(-11)
           (
           (mPlanet*mSchiff) / (
                               (r+(i*h-h)) * (r+(i*h)) // r = radius erde = 6378137
                               )
           ) *
           h;
      Result := Result + x;
    end;
end;
mein lehrer hat mir folgende formel gegeben:

Zitat:
w = y * ((m * M)/(r0*r1)) * (r1-r0)
das problem: das ergebnis ist immer sehr klein (0.000000000234412 oder so)
ich denke das liegt daran das delphi mit so hohen zahlen nicht zurechtkommt

was meint ihr?
Dominik
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Hohe Zahlen

  Alt 15. Jul 2007, 13:53
Prüf doch erst mal, ob die Einheiten passen. Eventuell mußt Du hier noch etwas justieren.

[edit]Du rechnest mit y definierst das aber nicht![/edit]

Grüße,
Uli
  Mit Zitat antworten Zitat
Benutzerbild von calculon
calculon

Registriert seit: 16. Sep 2006
256 Beiträge
 
Delphi 7 Personal
 
#3

Re: Hohe Zahlen

  Alt 15. Jul 2007, 14:05
Zitat von ULIK:
[edit]Du rechnest mit y definierst das aber nicht![/edit]
x := y * // y = constante = 6,67 * 10^(-11) wird wohl 'ne globale Konstante sein, denk ich mal.

Gruß

Calculon
--
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Hohe Zahlen

  Alt 15. Jul 2007, 14:10
Delphi-Quellcode:
const
  y = 0.0000000000667;
  r = 6378137; // in meter
hmm einheiten müssten eigendlich passen... nur für die masse der erde nehme ich halt 10000 kg, weil ich sonst probleme mit dem integer-wertebereich hab... eigendlich müsste das 5974000000000000000000000 kg sein.

liegt vllt daran

kennt jemand eine gute BigInt - klasse?
ich hab bisher nur diese gefunden, und bin nicht wirklich davon begeistert weil man mit der nicht rechnen kann

am besten wäre es natürlich wenn diese BigInt auch mit kommazahlen umgehen könnte...
Dominik
  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
 
#5

Re: Hohe Zahlen

  Alt 15. Jul 2007, 14:12
Nimm halt statt Integer einen Single, Double oder Extended, dann passt das.

EDIT: Hagens BigInt-Klasse ist verdammt gut. Such mal danach.
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
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Hohe Zahlen

  Alt 15. Jul 2007, 15:15
Hagens BigInt-Klasse finde ich nicht

ist die bei DEC dabei?
ich hab mal DEC eingebunden, er findet aber kein TBigInt
Dominik
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: Hohe Zahlen

  Alt 15. Jul 2007, 16:01
http://www.michael-puff.de/Developer...n/DEC_5_1c.zip

aber die brauchst du nicht wirklich für dein Problem.

Gruß Hagen
  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
 
#8

Re: Hohe Zahlen

  Alt 15. Jul 2007, 16:43
Sag ich doch: Ein Single, Double, Extended ist perfekt, außerdem brauchst du sowieso Gleitkommatypen bei deiner Berechnung.

Single, Double, Extended können mit Zahlen bis 10^38, 10^308 und 10^4932 umgehen, das reicht locker.

Wenn die Berechnungen falsch sind, liegt es höchstwahrscheinlich an deinem Code. Ich blicke aber weder bei der Formel noch bei deinem Code durch.
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
 
#9

Re: Hohe Zahlen

  Alt 15. Jul 2007, 16:48
Fliesskommazahlen haben zwar einen großen Wertebereich aber eine begrenzte Genauigkeit
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
 
#10

Re: Hohe Zahlen

  Alt 15. Jul 2007, 16:52
Die Genauigkeit ist auch mehr als ausreichend, würde ich mal sagen. (bis zu 22 Dezimalen, IIRC)
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 1 von 4  1 23     Letzte »    


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 11:11 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