Wann kann +NAN entstehen
-
hab das problem dass ich +NAN bekomme. das lokalisieren des auftretens ist jedoch unmöglich da sich das programm von alleine schreibt.
nun ist meine frage wann ich eigentlich +NAN bekommen kann
ich arbeite hauptsächlich mit
cos,sin,tan,sqrt,+,-,/,* und quadriere..meine vermutung : vielleicht overflow beim quadrieren?
sqrt aus negativen werten(+0) sowie division durch 0 fange ich ab.
wann könnte es sonst noch geschehen?
vielleicht weil irgendwo mit NULL pointern gerechnet wird?
-
nanix schrieb:
hab das problem dass ich +NAN bekomme. das lokalisieren des auftretens ist jedoch unmöglich da sich das programm von alleine schreibt.
Cool.
-
tan im Speziellen und ein Überlauf im Allgemeinen können zu Unendlichkeiten führen. Das Weiterrechnen mit Unendlichkeiten führt sehr schnell zu NaNs: trigonometrische Funktionen sind dort nicht definiert, ebenso wie bestimmte Kombinationen mit den Grundrechenarten (etwa: 0*∞,∞/∞,∞-∞ usw.)
-
ich befinde mich in c++
gibt es irgendeine möglichkeit eine double nach +NAN -NAN zu prüfen?
habe gerade gelesen dass ein solcher Vergleich sinnlos währe..
prüfe zur Zeit zusätzlich auf NULL aber das ist sicher nicht richtig da dies auch nur ein Platzhalter für "0" ist..
-
bin jetzt auf den Vergleich
if(ergebnis == ergebnis)und gleich ausprobiert..
es scheint jetzt alles gut zu sein..
die lästigen NANs konnte ich somit rausfiltern..ist das jetzt eine gute methode? hab ich sonst noch was vergessen?
-
Bin mr nicht absolut sicher, aber gibts nicht ein std::isnan in <cmath>?