Größtmögliche 9-Bit Gleitkommazahl
-
Hallo Communtiy,
meine Frage ist nicht C++ spezifisch, aber vielleicht könnt ihr mir ja trotzdem helfen.
Was ist die größtmögliche Zahl, die von einer normalisierten 9 Bit Gleitkommazahl dargestellt werden kann (als Dezimalzahl und Gleitkommazahl). Die Aufteilung sieht folgendermaßen aus: 1 Bit Vorzeichen, 3 Bits Exponent und 5 Bits Matisse.
Vielen Dank für eure Antworten.
-
Wenn die Frage nicht C++ spezifisch ist, wieso postest du sie dann im C++ Forum?
Und wenn du Hausaufgaben bekommst, wieso machst du sie dann nicht selbst?
-
Danke für die freundliche Antwort,
ich möchte daraufhinweisen, dass es sich bei meiner Frage nicht um eine Hausaufgabe handelt. Die Aufgabe stammt aus einer Vorlesung, die ich leider nicht besuchen konnte. Die Lösung zu der Aufgabe war leider nicht in der Power Point Präsentation des Professors, deshalb Frage ich hier nach.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum Themen rund um die IT verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Was ist denn deine Vermutung zum Thema? Ich werfe mal ∞ in den Raum.
-
Meine Vermutung:
Die Matisse umfasst 5 Bits, die größtmögliche Matisse ist also 0,11111
Der Exponent hat 3 Bits, was bedeutet, dass 111 der größtmögliche Exponent ist.
Damit ergibt sich:0,11111*10^111
Vom Exponenten muss ich den Exzess abziehen
Exzess = 011=> 0,11111*10^111-011 = 0,11111*10^100
Umrechnung in Dezimalzahl:
(2^-1 + 2^-2 + 2^-3 + 2^-4 + 2-5)*22 = 31/8 = 3,875Jedoch zweifle ich an diesem Ergebnis.
-
Bei einer normalisierten Mantisse liegt deren Wert zwischen 1 und 2, (1.x). Da die 1 immer dieselbe ist, wird sie auch nicht mitgespeichert.
5 bit haben einen Maximalwert von 32, 3 einen von 8. Somit ergibt sich insgesamt ein Maximalwert von:
(1 + 31/32)*2^3
-
Beide Antworten sind falsch
-
Ich würde sagen: Die Frage kann nicht beantwortet werden so lange man den Bias des Exponenten nicht kennt.
-
so grob geschätzt zwischen 512 (2^9) und 4096 (2^12)
schätze sowas wie 1,3 * 1000
-
@Mingo Mango Mongo
In deiner Rechnung sind zwei Fehler.
1. - Falsche Annahme, eine normalisierte Mantisse beginnt wie roflo schon geschrieben hat mit "1.", nicht mit "0.".
2. - 100 ist nicht 2 sondern 4.=>
(1 + 2^-1 + 2^-2 + 2^-3 + 2^-4 + 2-5)*24Ob 011 der korrekte Bias ist weiss ich natürlich nicht, das sollte in der Angabe stehen.
Was auch nicht klar ist, ist ob der implizite Einser der Mantisse mit abgespeichert wird. Wenn das Format nur normalisierte Zahlen unterstützt, dann wäre es Platzverschwendung ihn mit abzuspeichern. Gibt aber Formate die auch "denormals" unterstützen und aus diesem Grund den 1er doch mit abspeichern.