Gleitkommazahl: Mantisse Exponent

Neue Frage »

PoldiPower Auf diesen Beitrag antworten »
Gleitkommazahl: Mantisse Exponent
Hallo, ich habe folgende Aufgabe, mit der ich absolut nichts anfangen kann:

Geben Sie Mantisse und Exponent der kleinsten positiven, normiert darstellbaren dualen Gleitkommazahl an (Basis 4). Geben Sie die Mantisse mit ausreichender Stellenzahl und den Exponenten mit 8 Stellen an.
sqrt(2) Auf diesen Beitrag antworten »

Deiner Aufgabe fehlt der Standard, den sie zu Grunde legt. Wenn es sich um IEEE 754 handelt, fehlt die Angabe des Bias. Ein Exponent mit 8 Bit würde für Single und damit einem Bias von 127 sprechen, aber wer weiß...
PoldiPower Auf diesen Beitrag antworten »

Weggelassen habe ich nichts. Gehen wir also von IEEE 754 aus.
sqrt(2) Auf diesen Beitrag antworten »

In IEEE 754 sind solche Zahlen normalisierte Zahlen, die einen Exponenten E im Bereich haben, wenn r die Länge des Exponenten in Bit ist.
PoldiPower Auf diesen Beitrag antworten »

Ist das schon die ganze Antwort für die Aufgabe? Kann mir jemand IEEE 754 erklären bzw. eine gute Quelle nennen. Bei dem Wikipedia-Artikel versteh ich das nicht unglücklich
sqrt(2) Auf diesen Beitrag antworten »

Gleitkommazahlen werden im Prinzip in der Form im Speicher abgelegt. Dabei wird der Exponent so gewählt, dass die Mantisse mit einer binären 1 beginnt, wenn also die Zahl gespeichert werden soll, so schreibt man (und nicht etwa etwas wie ). Da die Mantisse also immer mit einer 1 beginnt (die Zahl 0 hat eine Sonderdarstellung in IEEE 754), wird die 1 nicht mitgespeichert, denn sie ist überflüssige Information.

Du musst also die Mantisse so wählen, dass sie möglichst klein ist, und dann den kleinstmöglichen Exponenten wählen. Da der Exponent auch negativ sein darf (um Zahlen kleiner als 1 darzustellen), man aber kein Vorzeichenbit für den Exponenten einführen wollte, wird auf den Exponenten immer ein fester Wert, der Bias, addiert, der die Zahl dann positiv macht.

in Single wäre dann

code:
1:
2:
3:
  0   10000010  01111000000000000000000
(SF) (Exp+Bias) (Mantisse, 23 bit)
      3+127     (1.)01111


(SF bezeichnet das Sign Flag, das angibt, ob die gesamte Zahl negativ oder positiv ist; 0 steht für positiv, 1 für negativ.)
 
 
PoldiPower Auf diesen Beitrag antworten »

Danke, die einfachste Erklärung die ich dazu je gehört habe!

Was ist mit Basis 4 und Exponenten mit 8 Stellen. Könntest du mir sagen wie ich an so eine Aufgabe am besten herangehe?
sqrt(2) Auf diesen Beitrag antworten »

Das mit Basis 4 habe ich ganz überlesen. Dann ergibt es auch Sinn, dass kein Bias gegeben ist. Du sollst wahrscheinlich nur a und b in angeben, sodass die Zahl möglichst klein ist. Als Mantisse a wählst du dann natürlich die 1 als kleinstmögliche Zahl und dann musst du schließlich noch den kleinstmöglichen Exponenten b wählen, wenn dir 8 bit dafür zur Verfügung stehen (1 bit dürfte für das Vorzeichen draufgehen).
PoldiPower Auf diesen Beitrag antworten »

Also lautet die Antwort für die obige Aufgabe:



Oder?
sqrt(2) Auf diesen Beitrag antworten »

Nein, für 8 braucht man nur 3 bit und der Bias spielt hier keine Rolle.
PoldiPower Auf diesen Beitrag antworten »

Noch ein Beispiel bitte:

Gegeben ist das Bitmuster einer dualen Gleitkommazahl nach dem IEEE-Standard 754 (1 bit Vorzeichen, Charakteristik (transformed exponent) 8 bit, bias=127, Bruch (fraction) 23 bit). Bestimmen Sie deren Dezimalwert: 0 10001001 10100010010000000000000
sqrt(2) Auf diesen Beitrag antworten »

Nichts neues: Vorzeichen kannst du ablesen, vom Exponenten musst du halt den Bias abziehen, bei der Mantisse noch ein "1." davorschreiben, dann rechnen. Wo ist ueberhaupt das Problem?
PoldiPower Auf diesen Beitrag antworten »

Wenn das Ergebnis 1673 ist, hab ich's letztendlich auch geschnallt
sqrt(2) Auf diesen Beitrag antworten »

Dein Ergebnis ist richtig.
PoldiPower Auf diesen Beitrag antworten »

Danke!!
Gustavson Auf diesen Beitrag antworten »

Ich versteh nicht, was ich für dieses Ergebnis genau rechnen bzw. in meinen Taschenrechner eingeben muss.
John B. Auf diesen Beitrag antworten »

Ich auch nicht :-(

Bitte helft uns
sqrt(2) Auf diesen Beitrag antworten »

Wenn es nicht so wahrscheinlich wäre, dass ihr beiden ein- und dieselbe Person seid...
John B. Auf diesen Beitrag antworten »

Also ich habe folgendes mal zum IEEE zusammengefasst (bitte um Korrektur, falls nötig):

Um vom Dezimalsystem zur IEEE 754 Darstellung zu konvertieren, wandelt man zuerst die Dezimalzahl in eine Dualzahl um und erhält dadurch den Exponenten. Die Mantisse erhält man durch addieren des größten Exponenten dieser Dualzahl mit dem Bias (127).
Beispiel:

89.3125 =

2^6
0101 1001.0101
6+127 = 133 = 1000 0101
IEEE: 0 10000101 01011001010100000000000
sqrt(2) Auf diesen Beitrag antworten »

Die Zahl im Dezimalsystem und in IEEE-Single-Darstellung sind identisch. Deine Beschreibung ist jedoch konfus...
NNS Auf diesen Beitrag antworten »

die ieee754 zahl ist falsch!
du musst nicht die ganze duale zahl einfügen, sondern nur den fractional part, das heißt, alle zahlen ab dem komma.

und da bei

101 1001 , 0101

das komma um 6 stellen nach links verschoben wird, ( 1 , 01 1001 0101 )

ist der fractional part:

0110 0101 0100 0000 0000 000
Neue Frage »
Antworten »



Verwandte Themen

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