32 Bitgleitkommaformat < Sonstige < Schule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:38 Mo 11.02.2008 | Autor: | hasso |
Hallo, ich hab éin etwas großeres problem wo ich nicht weiter weiß.. und zwar wollte ich eine hexa dezimal 32bitgleitkommaformat ins Dezimahle umwandeln leider bin ich mir beim schluss nicht sicher wie das gehen soll..
Und zwra gegeben war:
BE40 00 00 Hexadezimahl
1|011 11100| 100 0000 |0000 0000| 0000 0000
Das ist de zahl im binäere Zahlensystem dann ist die folgenden gegliedert VZ 1 dann Charackkteristik 011 11100 Mantisse 0100 0000 |0000 0000| 0000 0000
chrackteristik 8 Bit mantisse 23 Bit und Vz 1 Bit 32 Bit
so nun das rechnen. Chrackteristik -Offset=Exponent 124-127=-3
ich weiß das der Exponent -3 ist das heisst ich muss ihn irgendwohin 3 stellen verschieben wohin und von wo aus ..
VIELEN DANK gruß hasso
|
|
|
|
Hallo hasso!
> Hallo, ich hab éin etwas großeres problem wo ich nicht
> weiter weiß.. und zwar wollte ich eine hexa dezimal
> 32bitgleitkommaformat ins Dezimahle umwandeln leider bin
> ich mir beim schluss nicht sicher wie das gehen soll..
>
> Und zwra gegeben war:
>
> BE40 00 00 Hexadezimahl
>
>
> 1|011 11100| 100 0000 |0000 0000| 0000 0000
>
> Das ist de zahl im binäere Zahlensystem dann ist die
> folgenden gegliedert VZ 1 dann Charackkteristik 011 11100
> Mantisse 0100 0000 |0000 0000| 0000 0000
>
> chrackteristik 8 Bit mantisse 23 Bit und Vz 1 Bit 32 Bit
>
> so nun das rechnen. Chrackteristik -Offset=Exponent
> 124-127=-3
>
> ich weiß das der Exponent -3 ist das heisst ich muss ihn
> irgendwohin 3 stellen verschieben wohin und von wo aus ..
>
> VIELEN DANK gruß hasso
Also erstmal heißt das einfach, dass deine Zahl die Mantisse mal [mm] 2^{-3} [/mm] ist. Also wenn du die Mantisse ins Dezimale umwandelst, musst du diese Zahl noch mit [mm] 2^{-3} [/mm] multiplizieren. Wenn du die Dualzahl aber so schreiben möchtest, dass dahinter nicht [mm] *2^{-3} [/mm] sondern [mm] *2^0 [/mm] steht, musst du das Komma um drei Stellen nach links verschieben. Das kannst du ganz einfach im Dezimalsystem ausprobieren: wenn du z. B. mit [mm] 10^2 [/mm] multiplizierst, ist das ja eine Multiplikation mit 100, und da verschiebst du das Komma um zwei Stellen nach rechts. Also musst du bei negativen Exponenten nach links verschieben - und genauso geht das auch im Dualsysytem.
So, ich hoffe, ich habe jetzt hier keinen Blödsinn erzählt, deswegen lasse ich die Frage mal auf halbbeantwortet...
Viele Grüße
Bastiane
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 16:09 Mo 11.02.2008 | Autor: | hasso |
hallo bastiane
> > Hallo, ich hab éin etwas großeres problem wo ich nicht
> > weiter weiß.. und zwar wollte ich eine hexa dezimal
> > 32bitgleitkommaformat ins Dezimahle umwandeln leider bin
> > ich mir beim schluss nicht sicher wie das gehen soll..
> >
> > Und zwra gegeben war:
> >
> > BE40 00 00 Hexadezimahl
> >
> >
> > 1|011 11100| 100 0000 |0000 0000| 0000 0000
> >
> > Das ist de zahl im binäere Zahlensystem dann ist die
> > folgenden gegliedert VZ 1 dann Charackkteristik 011 11100
> > Mantisse 0100 0000 |0000 0000| 0000 0000
> >
> > chrackteristik 8 Bit mantisse 23 Bit und Vz 1 Bit 32 Bit
> >
> > so nun das rechnen. Chrackteristik -Offset=Exponent
> > 124-127=-3
> >
> > ich weiß das der Exponent -3 ist das heisst ich muss ihn
> > irgendwohin 3 stellen verschieben wohin und von wo aus ..
> Also erstmal heißt das einfach, dass deine Zahl die
> Mantisse mal [mm]2^{-3}[/mm] ist. Also wenn du die Mantisse ins
> Dezimale umwandelst, musst du diese Zahl noch mit [mm]2^{-3}[/mm]
> multiplizieren. Wenn du die Dualzahl aber so schreiben
> möchtest, dass dahinter nicht [mm]*2^{-3}[/mm] sondern [mm]*2^0[/mm] steht,
> musst du das Komma um drei Stellen nach links verschieben.
> Das kannst du ganz einfach im Dezimalsystem ausprobieren:
> wenn du z. B. mit [mm]10^2[/mm] multiplizierst, ist das ja eine
> Multiplikation mit 100, und da verschiebst du das Komma um
> zwei Stellen nach rechts. Also musst du bei negativen
> Exponenten nach links verschieben - und genauso geht das
> auch im Dualsysytem.
>
> So, ich hoffe, ich habe jetzt hier keinen Blödsinn erzählt,
> deswegen lasse ich die Frage mal auf halbbeantwortet...
die mantisse ist 8388608*2^-3 wär 1048576
kein ahnung wie du das meinst könntest du mal dein ergebnis zeigen was bei dir rauskommt weil ich hab die lösung ich lösungsheft stehen -0,1875 dezimahl
es steht im lösungsheft -1,1*2^-3=-0,0011=-0,1875
aber wie mann auf die 0,0011 kommt ist fraglich.
gruß hassi
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:57 Mo 11.02.2008 | Autor: | bamm |
Bei der Mantisse steht automatisch immer eine 1 davor (wenn man die Zahl ins Dezimalformat umwandelt), also der Wert der Mantisse liegt immer zwischen 1<=x<2. Die Stellen in der Mantisse muss man allerdings als Bruch ansehen. Das heißt, die erste Stelle in der Mantisse entspricht 1/2, die zweite 1/4, die dritte 1/8 usw (2er Potenzen eben). Also kriegst du hier raus -1,5*2^-3 was -0,1875 ergibt.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:22 Mo 11.02.2008 | Autor: | hasso |
danke es klappt!
|
|
|
|