PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Double Precision, wann braucht mann die Überhaupt?


Liszca
2013-09-01, 02:06:53
Wiki sagt:
http://de.wikipedia.org/wiki/Doppelte_Genauigkeit

Nun welches konkrete Beispiel könnte davon profitieren?
Was wäre der Nachteil wenn doch nur einfache Genauigkeit verfügbar ist?
Doppelte Genauigkeit ist doch nicht doppelt so flexibel wie die "Einfache genauigkeit" oder!?

ENKORE
2013-09-01, 04:31:12
Wow. Einfach nur wow. Mir fällt keine ernsthafte Antwort darauf ein.

Nun welches konkrete Beispiel könnte davon profitieren?
Was wäre der Nachteil wenn doch nur int verfügbar ist?
long ist doch nicht doppelt so flexibel wie ein int oder!?


Nun gut, ich versuche es mal. Beim rechnen mit floats gibt es diverse Fehlerquellen, z.B. beim akkumulierenden summieren, wiederholten multiplizieren etc., die recht schnell große fehler verursachen können. Das kontert man zum einen mit fehlerkorrigierenden algorithmen (z.B. kahansumme) zum anderen kann man, wenn der fehler nicht sehr groß ist, auch einfach ein höher aufgelöstes zahlenformat nehmen (wie double, wobei double auch einen größeren wertebereich hat).

weiterhin ist natürlich die verwendung von double/long double/quad notwendig sobald du mehr als ~6 nachkommastellen brauchst. und das braucht man öfter mal.

wenn ich nochmal drüber nachdenke verstehe ich erst recht nicht, wie deine frage aufgekommen ist. hm.

Liszca
2013-09-01, 15:50:20
Danke dass du es doch noch erklärt hast, mir fällts wie schuppen von den augen.

ux-3
2013-09-01, 16:26:56
Als ich mal einen Aufsatz über fraktale Geometrie verfasst habe, musste ich in der von mir geschriebenen Software Quad Precision aktivieren, um auf verschiedenen Maschinen reproduzierbare Ergebnisse zu bekommen. Die Algorithmen waren für Double Precision noch zu sensitiv. Das war der Grund, warum ich Geld für einen 387 in die Hand genommen hatte.

PatkIllA
2013-09-01, 17:11:49
Doppelte Genauigkeit ist doch nicht doppelt so flexibel wie die "Einfache genauigkeit" oder!?je nachdem wie man flexibel definiert ist es sogar deutlich mehr als doppelt so gut.
Dazu solltest du dir mal die Wertebereiche anschauen und wie genau das Format in welchem Bereich ist.
Da können sich dann schon ordentlich Rechenfehler ansammeln. Da gibt es dann auch so Dinge wie "x + 1 == x"
Was wäre der Nachteil wenn doch nur einfache Genauigkeit verfügbar ist?
Rechenfehler summieren sich auf. Oder man liegt vom Wertebereich gleich außerhalb.

Wir speichern zum Beispiel Koordinaten als double, weil es einfacher ist und der Nachteil nicht so groß ist.
Rein technisch könnten wir auch einen Offset definieren und dann alle Koordinaten mit einfacher Genauigkeit rechnen.
Mit angepassten Algorithmen kann man sehr viele Probleme auch mit einfacher Genauigkeit zurfriedenstellend lösen.

Liszca
2013-09-01, 18:10:39
Dass die Int für ganzzahlen sind war mir klar.
Dass man aber so schnell bei den nach kommastellen bei fp limitiert ist war mir nicht bewusst und dass da schon bei sechs stellen schon schluss sein kann auch nicht.

PatkIllA
2013-09-01, 18:13:50
Dass man aber so schnell bei den nach kommastellen bei fp limitiert ist war mir nicht bewusst und dass da schon bei sechs stellen schon schluss sein kann auch nicht.
Du bist nicht nur bei den Nachkommastellen limitiert. Bei größeren Zahlen kannst du ncht mal mehr alle ganze Zahlen darstellen, das meinte ich mit x + 1 == x. Da kannst du auf eine Zahl eins addieren und es kommt die gleiche Zahl raus.
Die Genauigkeit ist umso höhere je näher man 0 ist.