Forum: Mikrocontroller und Digitale Elektronik Hex Zahl in normierte Festkommazahl (dez.)


von Anfänger Mike (Gast)


Lesenswert?

Hallo Leute.

Ich habe mal eine Frage bezüglich Zahlen umrechnen.
Dabei geht es mir nicht um das einfach Prinzip eine Hex Zahl in eine Dez 
zu wandeln oder umgekehrt, sondern Aufgabe ist es eine Hex Zahl in eine 
"normierte Festkommazahl" (Dezimal) zu wandeln.

Als Vorlage ist gegeben: 25 Hex.

ich wäre jetzt wie folgt an die Aufgabe ran:
25 Hex ist: 0010 0101 binär
als Festkomma wäre das: 0.010 0101 oder?
dann wäre doch meine Dezimalzahl 0,2890625.
Kann das sein??

25 Hex als Dezimal normal gewandelt wäre ja 37.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Das kommt darauf an, wo man den Punkt hinsetzt.

0x25 ist 37.

Mit dem Punkt an der von dir angedeuteten Stelle ist der Wert 37/128, 
also wie von dir bestimmt.

Steht der Punkt zwischen den Nibbles, wäre der Wert 37/16.

Zudem unterscheiden sich die Zahlen darin, ob sie vorzeichenbehaftet 
sind oder nicht. In deinem Fall macht das bei der Interpretation kein 
Unterschied, weil das MSB nicht gesetzt ist.

-37/128 im n-1 Komplement ist

1.1011011

und in dieser Datstellung kannst du Zahlen in [-1,1) mit einer Rasterung 
von 1/128 darstellen; ohne Vorzeichen in [0,2).

von Klaus (Gast)


Lesenswert?

Bischen Ja bzw. "jein".

Deine Berechnung stimmt, unter der Annahme daß das erste Bit das 
Vorzeichen (VZ) ist, hier eine "0", also positiv. Aber deine 
Schreibweise "0.010 0101" ist hier irreführend.
Besser wäre zu schreiben, Dein (angenommenes) Zahlenformat ist:

 Bitstelle        Msb  Msb-1  Msb-2  Msb-3  --->   Lsb
 Bedeutung        VZ   2^-1   2^-2   2^-3    usw.
                       0.5    0.25   0.125

 dein Beisp.:     0    0  1    0 0  1        0   1
                  +       0.25      0.03125      0.0078125
 ergibt  addiert  0.2890625

Annahme ist hier jedoch: Grösste (theor.) darstellbare Zahlen sind -1 , 
+1
wobei jedoch dann die Länge in Bits "unendlich" sein müsste.

Es gibt jedoch auch andere "Festkomma" Zahlenformate.
Es ist von der Vereinbarung abhängig.

Beispielsweise ist denkbar, den "Dezimalpunkt" mittendrin zu definieren, 
damit man Werte von  (theor.)  +16 ... -16  abbilden kann.

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.