Seite 1 von 1
hex Wert in einen float32 umwandeln
Verfasst: Donnerstag 17. Januar 2019, 12:35
von pythonchris
Hallo zusammen,
ich habe einen hex Wert, z.B. 0x42b020c0
und möchte diesen in einen float32 Wert umwandeln.
Das Ergebnis wäre dann: 88,063965
(Umgewandelt mit diesem Online-Converter:
https://www.h-schmidt.net/FloatConverter/IEEE754.html)
Wie mache ich das nun ein Python?
Danke für die Unterstützung!
Gruß
Christian
Re: hex Wert in einen float32 umwandeln
Verfasst: Donnerstag 17. Januar 2019, 12:55
von __deets__
Schau dir mal das Modul struct an.
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:05
von pythonchris
Kann mir evtl. jemand mal ein Beispiel zeigen?
Danke!
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:07
von __deets__
struct.unpack('f', eingabe)[0]
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:08
von __deets__
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:17
von pythonchris
TestFloat = struct.unpack('f', TestInt)[0]
struct.error: unpack requires a string argument of length 4
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:18
von __deets__
Und wie sieht dein TestInt aus?
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:19
von __deets__
Und hast du den 2ten Post gesehen? Mit der Umwandlung von ascii_hex zu Bytes?
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:20
von pythonchris
TestInt = 1118838981
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:30
von Sirius3
@__deets__: wenn die Zahl schon als Zahl vorliegt, fehlt noch das pack.
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:41
von __deets__
Wohl wahr. Konnte ja keiner ahnen

Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 11:44
von pythonchris
@__deets__: kannst du mir evtl. noch mal ein Beispiel geben wie ich die Zahl in den Float wandle?
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 12:02
von __deets__
Code: Alles auswählen
>>> import struct
>>> struct.unpack('f', struct.pack('I', 0x42b020c0))
(88.06396484375,)
Und das naechste mal bitte vollstaendige und nachvollziehbare Informationen - was GENAU hast du (das ist keine "hex-zahl"), was hast du probiert, was fuer Fehler hast du bekommen.
Re: hex Wert in einen float32 umwandeln
Verfasst: Freitag 18. Januar 2019, 13:41
von pythonchris
Vielen Dank! Es funktioniert!
Ich gelobe Besserung fürs nächste mal...