Gleitkommadarstellung Flashcards

(7 cards)

1
Q

Was ist Sinn und Zweck der Gleitkommadarstellung?

A

Bei definierten Blockgrößen macht es keinen Sinn, das Komma fix an eine bestimmte Stelle zu setzen, weil dies die Länge vor/nach dem Komma stark einschränken würde. Die Gleitkommadarstellung erlaubt die effizientere Nutzung des zur Verfügung stehenden Paketspeichers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie ist die Gleitkommadarstellung nach IEEE aufgebaut?

A

1 Bit: Vorzeichen-Bit (0 = positiv, 1 = negativ)
23 Bit: Mantisse
8 Bit: Exponent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was beinhaltet die Mantisse bei IEEE? Wie ist diese aufgebaut?

A

Eigentliche Zahl als Binärzahl, bei der das Komma so verschoben wird, dass nur eine 1 vor dem Komma steht.

Beispiel:
26,25 entspricht Binärzahl 11010,01
-> Mantisse = 1,101001 bzw. einfach nur Nachkommawert “101001”

Da das “1,” am Anfang standardisiert ist, kann diese Information in den 32 Bit weggelassen werden. Als Mantisse eingetragen wird also nur der Teil hinter dem Komma.

Der Rest der 32 Bits hinter der Mantisse wird mit Nullen aufgefüllt:
1010010…0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was beinhaltet der Exponent bei IEEE? Wie ist dieser aufgebaut?

A

Beschreibt, um wie viele Stellen das Komma bei der Normalisierung der Mantisse verschoben wurde. Zu codierende Zahl kann im Ausgangszustand als n * 2⁰ beschrieben (= n * 1) werden. Bei jeder Verschiebung nach links wird der Exponent um 1 erhöht. Bei jeder Verschiebung nach rechts wird der Exponent um 1 verringert.

Merke:
- Wird die Zahl kleiner, dann wird der Exponent größer.
- Wird die Zahl größer, dann wird der Exponent kleiner.

Beispiel:
11010,01 = 11010,01 * 2⁰
1,101001 = 11010,01 * 2⁴

Unser Exponent ist also 4.

Der einzutragende Wert ergibt sich nun aus Exponent + 127.
Hier: 4+127 = 131 = 10000011

Die Gleitkommadarstellung für 26,25 wäre hier also:
1|10000011|1010010…0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Warum wird beim IEEE-Exponent 127 dazu addiert?

A

Der Bereich des Exponents hält 2⁸ Zahlen, also 256. Da wir positive und negative Exponenten (d.h. Verschiebungen des Kommas in beide Richtungen) darstellen wollen, teilen wir den Wertbereich in der Hälfte: +128 bis -127. (In der Mitte zählt natürlich auch die 0, es sind also weiterhin 256 Zeichen).
Möchte man nun den Exponent 2 darstellen - d.h., dass bei einer Mantisse das Komma um 2 Stellen nach links verschoben werden muss - dann müssen wir 127 dazu addieren, damit wir mit +2 nicht vom negativen Ende des Wertbereichs, sondern von der 0 ausgehen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind die vier Sonderfälle bei IEEE?

A

Exponent = 0…0, -127 | Mantisse = 0…0 –> Zahl 0
Exponent = 0…0, -127 | Mantisse != 0…0 –> 0,m * 2⁻¹²⁶
Exponent 1…1, +128| Mantisse = 0…0 –> +/- unendlich
Exponent 1…1, +128| Mantisse != 0…0 –> NaN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie wird eine Gleitkommazahl zurück gewandelt?

A

Verfahren einfach rückwärts, wobei der Exponent mit -127 gerechnet wird. Mit dessen Ergebnis wird dann das Komma der Mantisse (wichtig: mit “1,” davor!) wieder auf n * 2⁰ zurück geschoben.

Beispiel:
1|10000001|11010…0

Exponent:
10000001 = 129-127 = 2

Mantisse:
-1,1101 * 2²
= -111,01 * 2⁰

How well did you know this?
1
Not at all
2
3
4
5
Perfectly