0 Daumen
287 Aufrufe

Frage:

Berechnen Sie für die folgenden Dezimalzahlen die binäre IEEE 754 Gleitkommadarstellung in Single Precision  32 bit.

A) -59,9 klein 10 unten rechts (-59,910)

B) 0,125 klein 10 unten rechts (0,12510) weiß nicht wie ich eintragen kann


Ich weiß dass die formell x=s•m•2^e ist aber weiß nicht wie ich es anwenden soll :(

Avatar von

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Berechnung der IEEE 754 Gleitkommadarstellung in Single Precision 32 Bit

Die IEEE 754 Standarddarstellung in Single Precision verwendet 32 Bits zur Darstellung einer Gleitkommazahl. Die 32 Bits werden wie folgt aufgeteilt:
- 1 Bit für das Vorzeichen \(s\),
- 8 Bits für den Exponenten \(e\) und
- 23 Bits für die Mantisse \(m\) (auch Signifikand genannt, wobei implizit ein führendes 1-Bit hinzugefügt wird, das nicht direkt gespeichert wird).

Um eine Dezimalzahl in dieses Format zu überführen, folgen wir folgenden Schritten:
1. Konvertierung der Dezimalzahl in eine Binärzahl.
2. Normalisierung der Binärzahl.
3. Bestimmung des Vorzeichens, des Exponenten und der Mantisse.
4. Anwendung der Bias-Normierung auf den Exponenten (der Bias für Single Precision beträgt 127).
5. Zusammenstellung der 32 Bits.

Nun wenden wir diese Schritte auf die gegebenen Zahlen an:

A) -59,9 (Dezimal)

1. Umrechnung in eine Binärzahl:
- Der Ganzzahlteil von 59 lässt sich in Binär umwandeln als \(111011\).
- Für den Dezimalteil 0,9 kann eine Annäherung genutzt werden, da keine exakte Darstellung möglich ist. Es ist aufwendig, den exakten Binärwert für 0,9 manuell zu finden, da Dezimalbrüche oft periodisch in Binär sind. Mit computergestützter Hilfe bekommen wir etwa: 0,9 in Binär ist \(0.11100110011001100110011...\).
Zusammen ergibt sich die Binärdarstellung von \(-59,9\) als annähernd \(-111011.11100110011001100110011...\).

2. Normalisierung:
Die normalisierte Form ist \(-1.1101111100110011001100110011 \times 2^6\), da wir die Binärzahl so verschieben, dass nur ein Bit vor dem Binärpunkt steht.

3. Vorzeichen, Exponent und Mantisse:
- Vorzeichen \(s\) ist 1, da \(-59,9\) negativ ist.
- Exponent \(e\) ist 6, um die Verschiebung des Binärpunkts zu berücksichtigen (normalisiert).
- Mantisse \(m\) nimmt die Ziffern nach dem Binärpunkt: \(11011111001100110011001\), wobei exzessive Bits abgeschnitten oder fehlende Bits mit 0 aufgefüllt werden, um genau 23 Bits zu erhalten.

4. Bias-Normierung für den Exponenten:
Der Bias für Single Precision ist 127. Also, \(e + \text{Bias} = 6 + 127 = 133\), was binär \(10000101\) entspricht.

5. Zusammenstellung:
- Vorzeichen: \(1\)
- Exponent: \(10000101\)
- Mantisse: \(11011111001100110011001\)

Die IEEE 754 Darstellung von \(-59,9\) ist deshalb: \(1 10000101 11011111001100110011001\).

B) 0,125 (Dezimal)

1. Umrechnung in eine Binärzahl: \(0,125\) entspricht \(0.001\) in Binär.

2. Normalisierung:
Die normalisierte Form ist \(1.0 \times 2^{-3}\).

3. Vorzeichen, Exponent und Mantisse:
- Vorzeichen \(s\) ist 0, da \(0,125\) positiv ist.
- Exponent \(e\) ist \(-3\), angepasst an die Normalisierung.
- Mantisse \(m\) ist \(0\), da nach der Normalisierung keine signifikanten Bits nach dem Binärpunkt übrig sind.

4. Bias-Normierung für den Exponenten:
\(e + \text{Bias} = -3 + 127 = 124\), was binär \(01111100\) entspricht.

5. Zusammenstellung:
- Vorzeichen: \(0\)
- Exponent: \(01111100\)
- Mantisse: \(00000000000000000000000\) (da nur Nullen nach dem Punkt vorhanden sind)

Die IEEE 754 Darstellung von \(0,125\) ist daher: \(0 01111100 00000000000000000000000\).

Wichtig: Diese Berechnungen, insbesondere für die dezimalen Binärkonvertierungen, sind manuell vereinfacht und können bei der Darstellung langer periodischer Binärbrüche oder deren Naherung Ungenauigkeiten enthalten. Für präzise Berechnungen und Umwandlungen, besonders bei der Handhabung von Rundungen und der Darstellung im IEEE-Format, ist der Einsatz von Computeralgorithmen oder Software-Werkzeugen empfehlenswert.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community