float vergleichen
-
ich muss 2 floats miteinander vergleichen. das geht ja angeblich nicht. ich kann ja aber if(float01-rundung<float02&&float01+rundung>float02) schreiben. kann ich nicht was aus der stl für rundung nehmen?
-
Hast du das schon gesehen?
-
Mein Vorschlag:
std::numeric_limits<float>::epsilon()
-
epsilon()bezeichnet nur die kleinste Änderung einesfloat-Wertes, zur Kompensation von Rundungsfehlern ist eine anwendungsspezifische Toleranz ratsamer.
-
Naja, in der Referenz steht noch
round_error()aber ich habe nie damit gearbeitet.
-
was soll ihc nun nehmen?

-
der_der_rundet schrieb:
was soll ihc nun nehmen?

Lege eine relative oder absolute Genauigkeit fest und rechne mit dieser Toleranz. Welche Werte genau geeignet sind, sind von deinem Problem abhängig. Im Zweifel wähle etwas, was dir günstig erscheint. Wird schon passen.
-
Nimm long long :p
-
314159265358979 schrieb:
Nimm long long :p
Wir hatten doch mal einen Thread, in dem jemand der ernsthaften Ansicht war, nur noch integrale Typen nutzen zu sollen...
-
EOutOfResources schrieb:
314159265358979 schrieb:
Nimm long long :p
Wir hatten doch mal einen Thread, in dem jemand der ernsthaften Ansicht war, nur noch integrale Typen nutzen zu sollen...
naja das kann man machen, aber auf kosten der geschwindigkeit und man müsste sich eine klasse bauen...
-
Skym0sh0 schrieb:
naja das kann man machen, aber auf kosten der geschwindigkeit und man müsste sich eine klasse bauen...
Und auf die des Speichers.