LabVIEWForum.de - Abfrage auf NaN

LabVIEWForum.de

Normale Version: Abfrage auf NaN
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin gerade verblüfft -wieso kann man nicht auf NaN abfragen?

Danke für Eure Hinweise was ich falsch mache

Gottfried

(VI LV 8.2)
Geht doch..... Wink

[attachment=9623]
[attachment=9622](LV 8.0)

Gruß Markus
Weil NaN nur ein ganz bestimmtes binaeres Flag gesetzt hat, dass je nach Anwendung auch boese enden kann.
Probier mal NaN in div. Representations umzusetzen...

NaN abzufragen fkt. "nur" ueber die eigens dafuer vorgesehene Funktion...
Oh,

den Vergleich habe ich nie gesehen -bin gescheiter gewordenSmile

Ähh... und wie kann man den Vergleich in einer FormulaNode machen?

Gottfried
Ich glaube nicht dass der C Node eine solche Operation zur Verfuegung stellt.
Folgendes koenntest du machen:
a) NaN ist immer groeßer als die groeßte darstellbare Zahl von DBL (Inf)
b) Jede eine auf NaN angewandte arithmetische Operation ergibt wieder NaN, somit koennte man das Array durch "Inf" dividieren und erhaelt fuer alle validen Werten 0
c) Fuer jede Zahl das Bitmuster ueberpruefen (elegant aber viel zu aufwendig)
' schrieb:Oh,

den Vergleich habe ich nie gesehen -bin gescheiter gewordenSmile

Ähh... und wie kann man den Vergleich in einer FormulaNode machen?

Gottfried

Es gibt einen logischen Trick dazu. (NaN < x) = FALSE, (NaN > x) = FALSE, und (NaN == x) = FALSE.
Keine andere Fliesskommazahl erfüllt diese Bedingung.

Laut IEC ist das Ergebnis jedes Vergleichsoperators, (ausser für Ungleichheit) auf eine NaN Zahl immer FALSE und LabVIEW macht das genau so.

Rolf Kalbermatter
Referenz-URLs