Format ähnlich zum IEEE Format finden?

Neue Frage »

Auf diesen Beitrag antworten »
jwagner Format ähnlich zum IEEE Format finden?

Meine Frage:
Hallo! Ich habe die folgende Aufgabe bekommen:

Ich soll einen Format entwerfen, der die Zahlen 65408 und -1.52587890625*10^-5 darstellen kann.

Wie kann ich da voran gehen? Bin leider total verloren!



Meine Ideen:
Ich bitte um kleine Wegweiser, dank schon im Vorraus!
 
Auf diesen Beitrag antworten »
eulerscheZahl

Im IEEE gibt es drei Bestandteile: Vorzeichen, Mantisse, Exponent.

Das Vorzeichen sollte klar sein: es gibt offensichtlich eines.
Wie viel Bit brauchen aber Mantisse und Exponent?

Rechnen wir die Zahlen doch erst einmal ins Dualsystem um:
65408 = 1111111110000000 = 1.11111111 * 2^15
1.52587890625*10^-5 = 1 * 2^-16
Der Exponent ist im Bereich -16 bis +15, kann also 32 verschiedene Werte annehmen. Das entspricht log2(32) = 5 Bit.
Unter Berücksichtigung des hidden Bit bleiben für die Mantisse noch 8 Bit.
Auf diesen Beitrag antworten »
jwagner

Vielen Dank! Du warst schon eine riesen Hilfe!

Eine Frage habe ich jedoch: Wie komme ich auf die 8 Bit in der Mantisse?

Und würde das Format dann in etwa so ausschauen: 0 00000 00000000 (dabei ohne Rücksicht auf die gegebenen Zahlen)
Auf diesen Beitrag antworten »
eulerscheZahl

Übertrage die Zahlen mal in unser System.
1.52587890625*10^-5 = 1 * 2^-16 hat als Zahl eine 1, der Rest ist im Exponenten.

Das kritische ist hier 65408 = 1111111110000000 = 1.11111111 * 2^15
Die Mantisse muss also 1.11111111 darstellen können. Die 1 vor dem Komma kriegen wir durch geeignete Wahl des Exponenten geschenkt. Bleibt noch der Teil nach dem Komma. Es kommt hier auf die letzte 1 an, die steht 8 Stellen nach dem Komma. Ob dazwischen 0er oder 1er sind, ist egal.
 
Auf diesen Beitrag antworten »
jwagner

Ich glaube ich verstehe es!

Das heißt, für die erste Zahl kommt 0 11111 11111111 raus und bei der zweiten
1 00000 00100111?

Stimmt das so? Die Mantisse für den Minuswert habe ich Online ausgerechnet, wüsste nicht wie man das selbst herausbekommt!
Auf diesen Beitrag antworten »
eulerscheZahl

Ehrlich gesagt weiß ich noch nicht einmal, welche Bitfolge jetzt welche Zahl darstellen soll.
In der Mantisse findet keine Komplementbildung für negative Zahlen statt, das geht nur über das Vorzeichenbit.
-1.52587890625*10^-5 = 1 (negativ) 00000 (-16, biased *) 00000000 (Mantisse, kein Nachkommaanteil)
65408 = 0 (positiv) 11111 (+15) 11111111 (Nachkommaanteil von 1.11111111 * 2^15)

* in IEEE gibt es eigentlich noch Sonderbedeutungen für alle Bits 0 bzw. alle 1 im Exponenten. Aber wir dürfen das Format ja selbst definieren. Und weil ich faul bin, ignoriere ich das einfach.
Auf diesen Beitrag antworten »
jwagner

Achso! Jetzt verstehe ich die negative Zahl. Die Mantisse ist 0, da wir die Nachkommazahl im Exponenten schon dargestellt haben, richtig?

Ich kann mich nicht genug bei dir bedanken!
 
Neue Frage »
Antworten »


Verwandte Themen

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