Thread Komplexe Algorithmen, Arrays
(26 answers)
Opened by Jack2442 at 2011-11-20 20:51 2011-11-21T19:17:09 topeg Das ist eben gerade falsch, denn Gleichheitsvergleiche von Gleitkommazahlen sind unzuverlässig. Es ist vollkommen standardkonform wenn das System sqrt(4) => 1.99 rechnet, wenn die Maschinengenauigkeit nicht mehr hergibt. Und wenn ich 1.99 == 2 vergleiche oder int(1.99) == 1.99 dann kommt eben falsch heraus. Die Genauigkeit wird in der Regel höher sein, aber es gibt keine Garantien und auch wenn hinten viele weitere Ziffern 9 stehen, werden die Vergleiche noch fehlschlagen. Quote Ok, das ist etwas völlig anderes als Dein ursprünglicher Codeschnipsel andeutete, aber das sollte in der Tat funktionieren. Man rechnet dann allerdings nicht mehr mit natürlichen, sondern mit rationalen Zahlen. When C++ is your hammer, every problem looks like your thumb.
|