Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: ungültiger Extended-Value

  Alt 17. Feb 2006, 12:36
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
  Mit Zitat antworten Zitat