IEEE 754 real short

Neue Frage »

KevinK Auf diesen Beitrag antworten »
IEEE 754 real short
Hi

Ich hab hier eine Aufgabe

Wie wird die Dezimalzahl 14,625 als Gleitkommazahl im Format real short dargestellt?

Die Lösung dazu soll sein:

1) Der Zweierlogarithmus von 14 ist 3,807... Also teilen wir zunächst 14,625 durch 8 und erhalten 1,828125.

Wozu braucht man hier den Zweierlogarithmus von 14?

Das Vorzeichenbit ist 0 woran sehe ich das ?
Der Exponent ist 3+127 =130 Die 3 wegen den 3 Nachkommastellen? 127 wegen den 8 bit für die Charakteristik oder?

Da die Mantisse auf Vorkammstelle 1 normiert ist, muss man 0,828125 als Binärzahl darstellenWas genau hat man hier gemacht?

Danach steht da noch :
0,828125_____________ 1,65625_____________1
0,65625_______________1,3125_____________1
usw
Hier wird wohl die Binärzahl berechnet, Frage ist nur wie? Durch 2 teilen geht da wohl nicht. HELP

Ich weiß es sind viele Fragen, aber von alleine komme ich da nicht drauf, was gemacht werden muss. Habe auch keine richtige Beschreibung dazu unglücklich
AD Auf diesen Beitrag antworten »

Zitat:
Original von KevinK
Wozu braucht man hier den Zweierlogarithmus von 14?

Um den Exponent der Zweierpotenz der Floating-Point-Darstellung

mit

zu bestimmen. Ein bisschen Grundlagen zu dieser Darstellung solltest du schon können.

Zitat:
Original von KevinK
Das Vorzeichenbit ist 0 woran sehe ich das ?

Weil die Zahl positiv ist.

Zitat:
Original von KevinK
Der Exponent ist 3+127 =130 Die 3 wegen den 3 Nachkommastellen? 127 wegen den 8 bit für die Charakteristik oder?

Dieser Offset 127 ist im Standard für den 8 Bit breiten Exponenten einfach so festgelegt, ja.

Zitat:
Original von KevinK
Da die Mantisse auf Vorkammstelle 1 normiert ist, muss man 0,828125 als Binärzahl darstellenWas genau hat man hier gemacht?

Da für die Mantisse (mit Ausnahme des Sonderfalls der Zahl x=0) immer



gilt (s.o.), muss man die 1 vor dem Komma nicht kodieren - es ist einfach klar, dass das immer 1 sein muss, also wozu Platz dafür verschwenden. Augenzwinkern

Zitat:
Original von KevinK
Ich weiß es sind viele Fragen, aber von alleine komme ich da nicht drauf, was gemacht werden muss. Habe auch keine richtige Beschreibung dazu unglücklich

Ein bisschen musst du dich auch selbst mal in die Materie reinknien, da ist bis jetzt bei dir überhaupt nichts zu merken. Das mit der fehlenden Beschreibung ist eine faule Ausrede - selbst wenn du es in der Schule versäumt hast, Freund Google listet sicher irgendwas brauchbares auf, du musst dich nur mal bewegen. unglücklich
KevinK Auf diesen Beitrag antworten »

Ich hätte noch eine Frage:

Woher weiß ich durch welche Zahl ich die Gleitkommazahl teilen muss?

Wir hatten ja 14,625 und die Zahl wurde durch 8 geteilt.

Ich hab jetzt hier noch ein Beispiel, bei dem die Zahl -6,65625 durch 4 geteilt wird.

Wie finde ich heraus, durch welche Zahl geteilt werden muss?

Help unglücklich
KevinK Auf diesen Beitrag antworten »

"Wir hatten ja 14,625 und die Zahl wurde durch 8 geteilt. Ich hab jetzt hier noch ein Beispiel, bei dem die Zahl -6,65625 durch 4 geteilt wird."

Kann es sein, dass man als höchste Zahl durch die man teilen kann die 8 nimmt (da 2³) 8Bit und wenn man nicht durch 8 teilen kann, weil die Zahl wie bei der 6,.... kleiner als 8 ist, dann nimmt man die nächste Potenz 2² = 4 ? Wäre die Zahl 3,.... würde man durch 2^1 also 2 teilen?

Versteh ich das jetzt richtig?



Wäre jetzt die Zahl 2,.... durch welche Zahl würde man da teilen?? Normalerweise ja durch 1 aber das bringt ja nix unglücklich
kiste Auf diesen Beitrag antworten »

Immernoch durch 2. Stelle einfach zu erst die Zahl in Binärdarstellung dar. Führe dann solange einen Shift(Verschieben des Kommas) durch bis du 1,1011011 oder ähnliches hast. Du "teilst" dann durch 2^(Anzahl Shifts)
KevinK Auf diesen Beitrag antworten »

Ok, danke dir erstmal.

Ich hab jetzt ein Beispiel dafür gefunden, da wird die Zahl 5.25 binär als 101.01 dargestellt. 5 ist 101 ist klar. Aber 25 ist 01?

Ich bin wirr verwirrt
 
 
kiste Auf diesen Beitrag antworten »

KevinK Auf diesen Beitrag antworten »

Wäre dann 0,65625

1* 1/2 + 0*1/4+0*1/6+1*1/8.... usw?

Dann wäre die Zahl soweit 1001 ?

Ich nehme an, ich muss das solange machen, bis die Zahl 0 wird, oder?
AD Auf diesen Beitrag antworten »

Zitat:
Original von KevinK
... + 0*1/6 + ...

1/6 hat in der Reihe der Zweierpotenzen nun überhaupt nichts verloren. unglücklich
KevinK Auf diesen Beitrag antworten »

Ok, ich hab's jetzt denke ich endlich begriffen. DANKE an alle.

Ich weiß ich bin schwer von Begriff.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »