Thread Komplexe Algorithmen, Arrays (26 answers)
Opened by Jack2442 at 2011-11-20 20:51

murphy
 2011-11-21 23:05
#154419 #154419
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
2011-11-21T19:17:09 topeg
Ich rechne mit dem Wert nicht ich vergleiche damit nur. [...] Dabei ist es egal ob der Wert in einem Double steht oder nicht.
[...]

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
[...]
Ich benutzte das Verfahren von Heron und stellte die Brüche als Integerpaare dar.
[...]

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.

View full thread Komplexe Algorithmen, Arrays