Zitat:
Frage 1: Kann mir jemand erklären, wie es eine Extended-Variable geben kann, die keinen gültigen Wert enthält?
Ja, durch eine nicht definierte Rechnung. sqrt(-3) wäre zum Beispiel keine (relle) Zahl, oder ?
http://de.wikipedia.org/wiki/NaN
Zitat:
Frage 3: Wie kann es zu solchen Werten kommen? Gibt es andere Leute, die aus einer ansonsten intakten
Access-Datenbank soetwas rausgelesen haben?
NaN wird auch gerne für "undefiniert" oder "nicht angegeben" verwendet ...
Zitat:
Frage 2: Kann mir jemand erklären, woran man solche Werte identifizieren kann? Eine Funktion wie "isValidFloat(e:Extended):Boolean" wäre das Ziel.
Ja, das sind spezielle Konstanten, um spezielle Zahlen auszudrücken ...
http://de.wikipedia.org/wiki/IEEE_75...tellbare_Werte
Folgendes Beispiel sollte dir z.B. minus unendlich geben
Delphi-Quellcode:
p:=@e;
p^:=$00; inc(p);
p^:=$00; inc(p);
p^:=$00; inc(p);
p^:=$00; inc(p);
p^:=$00; inc(p);
p^:=$00; inc(p);
p^:=$00; inc(p);
p^:=$80; inc(p);
p^:=$FF; inc(p);
p^:=$FF; inc(p);
ShowMessage(VarToStr(e));
Daraus können wir sagen, dass momentan das höchste Bit das Vorzeichen ist, dann 2 Bytes Exponent folgen und der Rest ist Mantisse