Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
int CCalc::Funktion(float x) { fX = x-11.1; //Das ist die Funktion F(x) if (fX == 0) { return 0; } else if (fX < 0) { return 1; } else if (fX > 0) { return 2; } } |
Administrator
Zitat
sondern bekommt den komischen Wert "2.28882e-006"
C-/C++-Quelltext |
|
1 |
bool equals(double, double); // Prototyp |
Quellcode |
|
1 |
Wenn der Absolutwert der Differenz der beiden übergebenen (double)Werte kleiner oder gleich einem bestimmten Schwellenwert (epsilon) ist, gebe 'true' zurück, andernfalls 'false'. |
C-/C++-Quelltext |
|
1 2 3 4 5 |
// ... if ( equals(fX, 0.0) ) { return 0; } |
C-/C++-Quelltext |
|
1 2 3 4 |
if (fX >= -0.00000001 && fX <= 0.00000001) { //Wird als 0 gewertet } |
Zitat von »"grek40"«
Du hast einfach übersehen, dass bwbg dir nur den Prototyp und ne Anforderungsbeschreibung gegeben hat... implementieren musste das Teil dann schon selbst
C-/C++-Quelltext |
|
1 2 3 4 |
if (fX >= -0.00000001 && fX <= 0.00000001) { //Wird als 0 gewertet } |
C-/C++-Quelltext |
|
1 2 3 4 |
static inline bool IsZero( const float x ) { return fabsf( x ) < FLT_EPSILON; } |
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
#include <limits> #include <cmath> // [...] template<typename T> inline bool is_zero (const T& value) { return (std::abs (value) < std::numeric_limits<T>::epsilon ()); } |
Werbeanzeige