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...