Seite 1 von 4
genauigkeit von PB rechnungen?
Verfasst: 31.07.2006 21:48
von Brügge
hallo ich habe ein spiel programmiert was in die 3te dimension geht: also mit sehr viel mathe.
wenn ich eine variable mit den mathematischen formen (sin cos tan asin acos atan) 100 mal neu berechne verändert sich dann die genauigkeit? denn bei mir gibt es abweichungen von 100 (das ist bei meinem spiel nicht viel aber man merkt es doch schon so leicht) oder rechnet PB das immer sehr genau?
ich stelle diese frage nicht um PB schlecht zu machen, sondern weil ich eine enorme rechenaufgabe aufgestellt habe und sie mehrfach überprüft haben ob ich den fehler mache oder das programm (bis jetzt habe ich den fehler noch nicht gefunden) und da habe ich mir gedacht das ich mal nachfrage und mich hier nicht tot rechne
danke für eure posts
mfg
Verfasst: 31.07.2006 21:55
von Alves
Also ich meine doch, immer die gleiche Aufgabe müsste doch immer das gleiche Ergebnis geben, oder verstehe ich dich da falsch?
Ansonsten brauchste mich zu höheren Mathematikfragen nicht zu fragen...
Verfasst: 31.07.2006 21:58
von Brügge
hmmnicht die gleichen aufgaben sondern eine variable immer mehr aufgaben stellen also mit dem ergebnis weiterrechnen...und das 32mal die sekunde (also sehr oft). kann es dann zu (rechenfehlern) also ungenauigkeiten fürhren?
wenn ihr wollt kann ich die rechnungen mal reinstellen aber dazu müsste ich ein bild zeichnen damit man es versteht ...
ist echt viel
Verfasst: 31.07.2006 21:59
von mk-soft
Liegt nicht an PB sondern an den Format von Float. Wenn Rechnengenauigkeit nicht reicht dann nehme Double
http://de.wikipedia.org/wiki/Float
FF

Verfasst: 31.07.2006 22:00
von Kaeru Gaman
wenn du Double verwendest, also fließkomma doppelter genauigkeit,
ist diese genauigkeit schon ziemlich hoch.
allerdings musst du natürlich bedenken, dass auch bei Doubles die genauigkeit begrenzt ist.
also, wenn du mit zahlen im bereich 1-10 arbeitest, wirds so bei der dutzenden nachkommastelle ungenau.
diese ungenauigkeit wird dann natürlich größer, wenn die zahlen größer werden,
aber du musst schon in die millionen/milliarden vorkomma gehen,
um die ungenauigkeiten bei hundertsteln/tausendsteln zu bekommen.
das musst du halt bedenken.
wenn du also 3.27*10^32 + Sin(x) rechnest, verschwindet der sinus wahrscheinlich in der ungenauigkeit.
Verfasst: 31.07.2006 22:01
von Brügge
double?? wie denn das?
also fload = variable.f aber double hab ich noch nie gehört wie viel bits sind das denn?
Verfasst: 31.07.2006 22:01
von Kaeru Gaman
welche PB Version hast du? Double gibts erst ab 4.0
doppelt soviele bits.
Float benutzt 32bit, Double 64bit.
Verfasst: 31.07.2006 22:02
von Brügge
die double wie hoch gehen die? denn ich muss manchmal 15000³ rechnen geht das mit denen?
Verfasst: 31.07.2006 22:03
von Brügge
ich habe 3.90 demo :*( kann man sich die 4.* demo laden? oder gibt es sowas nicht?
Verfasst: 31.07.2006 22:08
von Kaeru Gaman
auch mit floats kannst du 15000³ berechnen:
Debugger hat geschrieben:3375006744576.0
aber wie du siehst, ist die genauigkeitsgrenze dort erreicht.
mit Doubles ist es "etwas" besser:
Debugger hat geschrieben:3375006750004.5005