Forum: PC-Programmierung Aus Hexwerten float zahl berechnen


von Lars (Gast)


Lesenswert?

Hallo,
ich habe eine variable (real32) von einem Simulink Modell.
Diese ist:
9.40043e-16
Im Hexfile liegt an der Adresse
77 79 87 26

Wie komme ich aus diesen Werten denn jetzt auf 9.40043e-16 ?

von Dr. MCU (Gast)


Lesenswert?

Lars schrieb:
> Hallo,
> ich habe eine variable (real32) von einem Simulink Modell.
> Diese ist:
> 9.40043e-16
> Im Hexfile liegt an der Adresse
> 77 79 87 26
>
> Wie komme ich aus diesen Werten denn jetzt auf 9.40043e-16 ?

IEEE754.
Umrechner z.B. hier:
https://www.h-schmidt.net/FloatConverter/IEEE754de.html
Reihenfolge beachten (also 0x26877977).

von A. S. (rava)


Lesenswert?

Genau. Der zugehörige Begriff ist die "Endianess":
https://de.wikipedia.org/wiki/Byte-Reihenfolge

von Georg (Gast)


Lesenswert?

Dr. MCU schrieb:
> Reihenfolge beachten (also 0x26877977).

Das kann man ausprobieren, es gibt ja nur 2 Möglichkeiten, und nur eine 
gibt das richtige Ergebnis.

Georg

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Georg schrieb:
> Das kann man ausprobieren, es gibt ja nur 2 Möglichkeiten, und nur eine
> gibt das richtige Ergebnis.

Neben den beiden üblichen Formen ist auch noch die Oktettreihenfolge 2 1 
4 3 sehr gebräuchlich, z.B. bei der PDP-11.

von PittyJ (Gast)


Lesenswert?

Eine PDP-11 ist nur noch im Museum gebräuchlich.

von foobar (Gast)


Lesenswert?

> Eine PDP-11 ist nur noch im Museum gebräuchlich.

Es gibt moderne "Nachbauten" ;-)
  https://www.youtube.com/watch?v=jtmNOZVrz98

von Rolf M. (rmagnus)


Lesenswert?

foobar schrieb:
>> Eine PDP-11 ist nur noch im Museum gebräuchlich.
>
> Es gibt moderne "Nachbauten" ;-)

Aber auch die würde nicht unbedingt als "sehr gebräuchlich" bezeichnen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.