Einzelnen Beitrag anzeigen

eXistence

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

floatingpoint Werte aus Datei auslesen?

  Alt 17. Sep 2004, 09:15
hi,
ich versuche mich gerade an einem Datei-Konverter. Die Quelldatei liegt Binär vor und ich hab ne Doku an welcher Stelle welche Werte hinterlegt sind.
Characters und Integer-Werte kann ich auch problemlos auslesen, nur an den floatingpoint-Werten scheitere ich bislang.
ich weiß zwar, wie sie aufgebaut sein sollten, aber irgendwie komme ich trotzdem nicht weiter.

Gibts irgendwo ein Tutorial oder ne Anleitung, damit ich ne ungefähre Vorstellung davon bekomme, wie das funktionieren sollte?
(die Such-Funktion brachte mich leider nicht weiter...)

So funzt es erwartungsgemäß nicht:
Delphi-Quellcode:
function TForm1.GetDouble(scrStream : TStream; iPos : integer) : double;
var   dDouble      :   double;

begin
  scrStream.seek(iPos, soFromBeginning);
  scrStream.readbuffer(dDouble, 8);

  stats.Lines.Add(FloatToStrF(dDouble, ffFixed, 15, 10));


  Result := 1;

end;
zwar bekomme ich einen Wert, aber er entspricht nicht dem, was dort eigentlich stehen sollte...

Aufbau sieht laut Doku so aus:

Delphi-Quellcode:
bit 63 0
+---+-----------+----------------------------------------+
|s | e10..e0 | f51..f0 |
| | | |
+---+-----------+----------------------------------------+

1 bit 11 bits 52 bits
Hat jemand nen Tipp für mich, wie ich da vorgehen muss?
  Mit Zitat antworten Zitat