Einzelnen Beitrag anzeigen

eXistence

Registriert seit: 17. Sep 2004
3 Beiträge
 
#4

Re: floatingpoint Werte aus Datei auslesen?

  Alt 20. Sep 2004, 09:12
Laut Doku handelt es sich um "IEEE-IEEE-754 Big-Endian Floating Point (Sun, SGI, Convex, HP)"

der Floatingpoint-wert soll sich dann folgendermaßen berechnen:

(-1)**s * 2**(e-1023) * 1.f

(bezogen auf den vorher geposteten Aufbau)

"s" gibt einfach das Vorzeichen an, "e" habe ich als integer-wert ausgelesen, Kopfzerbrechen bereitet mir aber noch f.
Es gibt in Delphi keinen 64bit-unsigend-integer-typ... was mache ich also mit dieser 52-bit-zahl?
Wie lese ich diesen Teil also aus und wie hänge ich ihn an die 1 dran?

oder gibts noch ne andere Variante?


EDIT:
@Insider2004: mit "scrStream.readbuffer(dDouble, 8);" bekomme ich z.B. 1,62211632842598E-319 raus, obwohls eigentlich 512 sein sollte...
die entsprechenden bytes im Hex-Editor sehen so aus: 40 80 00 00 00 00 00 00
  Mit Zitat antworten Zitat