Czy warto używać wartości zmiennoprzecinkowej IEEE754 NaN (not-a-number) dla wartości nieokreślonych z powodów innych niŜ matematyczne?Czy warto używać wartości bezwzględnej NaN IEEE754 dla wartości, które nie są ustawione?
W naszym przypadku nie zostały jeszcze ustawione, ponieważ wartości nie zostały odebrane z innego urządzenia. Kontekstem jest system wbudowany wykorzystujący wartości REAL32 IEC1131. Edytuj: Język programowania to C, więc najprawdopodobniej użyjemy NAN i isnanf (x), które pochodzą z C99. Chociaż możemy potrzebować dodatkowych wygięć, aby wprowadzić je do naszej warstwy kompatybilności OS.
Domyślnym językiem programowania wydaje się być inicjalizacja zmiennych zmiennoprzecinkowych z dodatnim zerem, którego wewnętrzna reprezentacja jest zerowa. Nie jest to dla nas użyteczne, ponieważ 0 znajduje się w zakresie prawidłowych wartości.
Wygląda na to, że jest to czyste rozwiązanie do korzystania z NaN, ale może jest to więcej kłopotu niż jest warte i powinniśmy wybrać jakąś inną wartość?
Nie znam C, ale w .NET 1.1 zanim pojawiły się typy zerowalne, wiele osób używało takich rzeczy jak minimalna wartość (int.MinValue). Problem polega na tym, że musisz je wszędzie uwzględnić i upewnić się, że nigdy nie użyjesz Wartości minimalnej. Być może coś podobnego istnieje dla C? – RichardOD
Zapytałem o podobne (ale nie to samo) pytanie, może te answeres mogą ci pomóc. http://stackoverflow.com/questions/787828/nan-as-a-special-argument – quinmars