Thread Perl Bug bei int?
(44 answers)
Opened by Rolf_PlusW at 2013-03-01 11:29
Eine 100%-Lösung kanns nicht geben. Es ist situationsabhängig welches eps das passendste ist.
Es kommt darauf an welche Genauigkeit deine Werte haben. Es gibt auch kein Grundrauschen der Gleitkommaarithmetik. Es gibt Rechenoperationen und Operanden und abhängig von diesen verringert sich mit jeder Operation deine Genauigkeit bzw. deine Anzahl gültiger Bits. Anhand der Berechnungen, die du durchführen willst kannst du deine gültigen Stellen abschätzen und anhand derer dann dein eps wählen. Ein ganz simples Beispiel, das ziemlich viele Bits "klaut" Code (perl): (dl
)
((1 - 0.9999) * 10000) Das sollte 1 ergeben. [EDIT] Aus Faustformel (wenn ichs noch richtig in Erinnerung hab) an verlorenen Bits/Stellen Addition: 0-1 Bit Multiplikation: 0-1 Bit Division: 0-1 Bit Subtraktion: Bei fast gleich großen Zahlen verringern sich die gültigen Stellen um die Anzahl der ersten Stellen, in denen die beiden Zahlen übereinstimmen. <= Da kanns gefährlich werden Last edited: 2013-03-05 13:32:14 +0100 (CET) 1 + 1 = 10
|