![]() |
Algorithmus zum Umrechnen Hex->Real (80Bit mit Vorz) gesu
Moin,
ich will die Daten einer Binärdatei auslesen. Die 8-, 16- und 32-Bit-Zahlen funktionieren mit StrToInt, aber mehr geht da nicht. Die Suche hilft bei diesem vorzeichenbehafteten Datentyp mit 80-Bit nicht weiter. Ein paar Zahlenbeispiele:
Code:
Vielleicht kennt hier jemand eine Lösung.
00 00 00 00 00 00 00 A0 03 C0 = -20
00 00 00 00 00 00 00 F0 02 C0 = -15 00 00 00 00 00 00 00 A0 02 C0 = -10 00 00 00 00 00 00 00 A0 01 C0 = -5 00 00 00 00 00 00 00 80 01 C0 = -4 00 00 00 00 00 00 00 C0 00 C0 = -3 00 00 00 00 00 00 00 80 00 C0 = -2 00 00 00 00 00 00 00 80 FF BF = -1 00 00 00 00 00 00 00 00 00 00 = 0 00 00 00 00 00 00 00 80 FF 3F = 1 00 00 00 00 00 00 00 80 00 40 = 2 00 00 00 00 00 00 00 C0 00 40 = 3 00 00 00 00 00 00 00 80 01 40 = 4 00 00 00 00 00 00 00 A0 01 40 = 5 00 00 00 00 00 00 00 A0 02 40 = 10 00 00 00 00 00 00 00 F0 02 40 = 15 00 00 00 00 00 00 00 A0 03 40 = 20 00 00 00 00 00 00 00 F0 03 40 = 30 00 00 00 00 00 00 00 A0 04 40 = 40 00 00 00 00 00 00 00 C8 04 40 = 50 00 00 00 00 00 00 00 CA 04 40 = 50.5 33 33 33 33 33 33 33 CA 04 40 = 50.55 52 B8 1E 85 EB 51 38 CA 04 40 = 50.555 00 00 00 00 00 00 00 C8 05 40 = 100 00 00 00 00 00 00 00 96 06 40 = 150 00 00 00 00 00 00 00 C8 06 40 = 200 00 00 00 00 00 00 00 96 07 40 = 300 |
Re: Algorithmus zum Umrechnen Hex->Real (80Bit mit Vorz)
Hi!
Hab' nichts zur Hand, sorry. Aber Du sprichst wohl von ![]() Gruß, Markus |
Re: Algorithmus zum Umrechnen Hex->Real (80Bit mit Vorz)
Vielen Dank. Damit habe ich einen Ansatzpunkt. Bei dem Beispiel
Code:
hieße es dann, dann
52 B8 1E 85 EB 51 38 CA 04 40 = 50.555
Code:
die Mantisse mit 50555 und
52 B8 1E 85 EB 51 38 CA
Code:
der Exponent -3 und das Vorzeichen + sein müssten.
04 40
Wenn ich mir
Code:
ansehe, scheint es doch nicht so zu passen, wie ich denke.
00 00 00 00 00 00 00 80 01 40 = 4
00 00 00 00 00 00 00 A0 01 40 = 5 |
Re: Algorithmus zum Umrechnen Hex->Real (80Bit mit Vorz)
In WinHex werden die Werte unter Datentyp 'Long Double' und Einstellung 'Little Endian' richtig angegeben.
|
Re: Algorithmus zum Umrechnen Hex->Real (80Bit mit Vorz)
Problem gelöst. Hatte mich bei der Variblendeklaration verschrieben (Extented statt Extended) und dann gedacht, Delphi 3 kann kein Extended. Die 10 Bytes werden am Stück geladen und von Delphi richtig weiterverarbeitet. :oops:
Code:
Danke für die Hilfe.
var fs : TFilestream;
er : Extended; ... fs.Read (er, 10); ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz