Grundlagen der Technischen Informatik
4. Übung
Christian Knell
Keine Garantie für Korrekt-/Vollständigkeit
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Themen
Aufgabe 1: IEEE Format – Zahlenumwandlung
Aufgabe 2: Addition und Subtraktion von
Gleitkommazahlen
Aufgabe 3: Multiplikation von Gleitkommazahlen
Aufgabe 4: Assoziativität von Operationen in
Fließkommadarstellung
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 1
Die Zahlendarstellung im IEEE Standard 754 (single precision):
Allgemein gilt: Z = (-1)V * (1 + M) * 2(E - BIAS)
a) Welche (Dezimal-)Zahlen werden durch die beiden Werte
nach obigem Muster dargestellt:
I) 0 1001 1001 1001 1001 1001 0000 0000 0002
II) 1 0001 1001 1001 1001 0000 0000 0000 0002
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 1
a) Welche (Dezimal-)Zahlen werden durch die beiden Werte
nach obigem Muster dargestellt:
I) 0 1001 1001 1001 1001 1001 0000 0000 0002
V = 0
E = 1001 10012 = 1 + 8 + 16 + 128 = 153
BIAS = 2#E-1 - 1 = 27 - 1 = 128 - 1 = 127
M = 1001 1001 1001 0000 0000 0002
(1 + M) = 1 + 2-1 + 2-4 + 2-5 + 2-8 + 2-9 + 2-12 = 1+ 2457/212
Übung zu Grundlagen der Technischen Informatik
DD 1073643522) 4096
2457 (1 (-1) )127153(0
4. Übungsblatt – Aufgabe 1
a) Welche (Dezimal-)Zahlen werden durch die beiden Werte
nach obigem Muster dargestellt:
II) 1 0001 1001 1001 1001 0000 0000 0000 0002
V = 1
E = 0001 10012 = 1 + 8 + 16 = 25
BIAS = 2#E-1 - 1 = 27 - 1 = 128 - 1 = 127
M = 1001 1001 0000 0000 0000 0002
(1 + M) = 1 + 2-1 + 2-4 + 2-5 + 2-8 = 1 + 153 / 28
Übung zu Grundlagen der Technischen Informatik
DD30)12725(1 103151.02)
256
153 (1 (-1)
4. Übungsblatt – Aufgabe 1
b) Wandeln Sie folgende Zahlen in die 32 Bit IEEE
Gleitkommadarstellung um:
I) 6,25 * 10-3D
II) 3,14159D
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 1
I) 6,25 * 10-3D = 0,00625D
0,00625 * 2 = 0,01250 | 0
0,0125 * 2 = 0,025 | 0
0,025 * 2 = 0,05 | 0
0,05 * 2 = 0,1 | 0
0,1 * 2 = 0,2 | 0
0,2 * 2 = 0,4 | 0
0,4 * 2 = 0,8 | 0
0,8 * 2 = 1,6 | 1
0,6 * 2 = 1,2 | 1
0,2 * 2 = 0,4 | 0
. . .
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 1
I) 6,25 * 10-3D = 0,00625D
→ 0,0000 0001 1001 1001 1001 100
→ 1,1001 1001 1001 1001 1001 100 * 2-8
→ M = 1,1001 1001 1001 1001 1001 100
→ E + BIAS = -8 + 127 = 119
→ E = 0111 0111
→ 6,25 * 10-3D
= 0 | 0111 0111 | 1001 1001 1001 1001 1001 100B
Übung zu Grundlagen der Technischen Informatik
119 : 2 = 59 R1
59 : 2 = 29 R1
29 : 2 = 14 R1
14 : 2 = 7 R0
7 : 2 = 3 R1
3 : 2 = 1 R1
1 : 2 = 0 R1
4. Übungsblatt – Aufgabe 1
II) 3,14159D
0,14159 * 2 = 0,28318 | 0
0,28318 * 2 = 0,56636 | 0
0,56636 * 2 = 1,13272 | 1
0,13272 * 2 = 0,26544 | 0
0,26544 * 2 = 0,53088 | 0
0,53088 * 2 = 1,06176 | 1
0,06176 * 2 = 0,12352 | 0
0,12352 * 2 = 0,24704 | 0
0,24704 * 2 = 0,49408 | 0
0,49408 * 2 = 0,98816 | 0
. . .
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 1
II) 3,14159D
→ 11,0010 0100 0011 1111 0011 110
→ 1,1001 0010 0001 1111 1001 111 * 21
→ M = 1,1001 0010 0001 1111 1001 111
→ E + BIAS = 1 + 127 = 128
→ E = 1000 0000
→ 3,14159D
= 0 | 1000 0000 | 1001 0010 0001 1111 1001 111B
Übung zu Grundlagen der Technischen Informatik
128 : 2 = 64 R0
64 : 2 = 32 R0
32 : 2 = 16 R0
16 : 2 = 8 R0
8 : 2 = 4 R0
4 : 2 = 2 R0
2 : 2 = 1 R0
1 : 2 = 0 R1
4. Übungsblatt – Aufgabe 1
b) Auf wie viele dezimale Nachkommastellen genau kann die
Zahl Pi angegebenen werden?
Von der Mantisse werden 22 Bit zur Speicherung der
Nachkommastellen verwendet.
Der maximale Fehler ist in diesem Fall 2-22 = 0.24 * 10-6
→ Pi kann also auf 6 dezimale Nachkommastellen genau
angegeben werden
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 1
c) Warum kann einer float-Variablen der Wert 1*10-42, nicht aber
der Wert 1*1042 zugewiesen werden?
Durch den Exponent kann das Komma um 127 Stellen nach links
(E=0) oder um 128 Stellen nach rechts (E=255) geschoben werden.
210 ≈ 103 --> 1042 ≈ 2140 bzw. 10-42 ≈ 2-140.
Sollen in der Gleitkommadarstellung kleinere Zahlen als 2-126
dargestellt werden, so greift man auf die sogenannte
denormalisierte Darstellung zurück. Diese erlaubt die Darstellung
kleinerer Zahlen durch Schieben und Auffüllen von Nullen der
Mantisse nach rechts. Dieses Verfahren verringert allerdings die
Genauigkeit. Eine Expansion in positiver Richtung kann so nicht
erreicht werden, so dass eine Variable den Wert 1*10-42, nicht aber
den Wert 1*1042 besitzen kann.
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 2
Gegeben seien folgende Zahlen im IEEE Standard 754:
x1 = 0 1001 1001 1001 1001 1001 0000 0000 0002
x2 = 0 1001 0010 1001 1001 0000 0000 0000 0002
a) Addieren Sie die beiden Zahlen
b) Berechnen Sie x2 - x1
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 2
Vorgehensweise zur Addition/Subtraktion:
1. Transformiere durch Rechtschieben der kleineren Zahl auf den
Exponenten der Größeren
2. Falls nötig 2er-Komplement bilden
3. Addieren/Subtrahieren der Mantissen
(falls Ergebnis < 0: setze Vorzeichenbit und bilde 2er-Komplement)
4. Normalisiere Ergebnis
4.1 Falls Ergebnis ≥ 2: schiebe Ergebnis um eins nach
rechts und inkrementiere den Exponenten
4.2 Falls Ergebnis < 0: schiebe Ergebnis um eins nach links
und dekrementiere den Exponenten
4.3 Wiederhole 4.1 bzw. 4.2 bis Ergebnis == 0 ˅ 1 ≤ Ergebnis < 2
5. Behandlung von Sonderfällen (Überlauf, Unterlauf, Null)
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 2
a) Addieren Sie die beiden Zahlen
E1 = 1001 1001 E2 = 1001 0010
E1 = 1 + 8 + 16 + 128 = 153 E2 = 2 + 16 + 128 = 146
→ E1 > E2
→ x2 durch Rechtsschieben um E1 - E2 = 7 Stellen
transformieren
M(x2) = 1,1001 1001 0000 0000 0000 000
M(x2) = 0,0000 0011 0011 0010 0000 000
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 2
a) Addieren Sie die beiden Zahlen
x1 + x2 = 0 | 1001 1001 | 1001 1100 1100 0010 0000 000
Übung zu Grundlagen der Technischen Informatik
M(x2) : 1, 1001 1001 0000 0000 0000 000
M(x2) : 0, 0000 0011 0011 0010 0000 000
+ M(x1) : 1, 1001 1001 1001 0000 0000 000
1 1 1 1
1, 1001 1100 1100 0010 0000 000
4. Übungsblatt – Aufgabe 2
b) Berechnen Sie x2 – x1
x2 - x1 = 1 | 1001 1001 | 1001 0110 0101 1110 0000 000
Übung zu Grundlagen der Technischen Informatik
M(x1) : 1, 1001 1001 1001 0000 0000 000
2er-Komplement von M(x1) : 10, 0110 0110 0111 0000 0000 000
+ M(x2) : 00, 0000 0011 0011 0010 0000 000
1 1 1 1 1
Ergebnis ≤ 0 : 10, 0110 1001 1010 0010 0000 000
2er-Komplement : 01, 1001 0110 0101 1110 0000 000
4. Übungsblatt – Aufgabe 3
Gegeben seien folgende Gleitkommazahlen:
x1 = 0 1001 000 1001 10112
x2 = 1 1001 010 1110 10002
Für die beiden Zahlen gilt:
Vorzeichen (V): 1 Bit breit (1 = negativ)
Exponent (E): 7 Bit breit
Mantisse (M): 8 Bit breit (1,M wie beim IEEE Format üblich)
Anordnung: V E M
Berechnen Sie x1 * x2
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 3
Vorgehensweise:
1. Mantissen multiplizieren: 1,Mx1 * 1,Mx2
2. Exponenten addieren, aber einmal den Bias abziehen
3. Mantisse eventuell normalisieren
4. Das Vorzeichen getrennt behandeln
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 3
x1 = 0 1001 000 1001 10112 x2 = 1 1001 010 1110 10002
E1 = 1001 000 E2 = 1001 010
E1 = 8 + 64 = 72 E2 = 2 + 8 + 64 = 74
E1 - BIAS = 72 - 63 = 9 E2 - BIAS = 74 - 63 = 11
E(x1 * x2) = 9 + 11 + BIAS = 8310 = 10100112
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 3
M1 = 1,1001 1011 M2 = 1,1110 1000
M(x1 * x2) = 11,0000 1111 0111 1
Übung zu Grundlagen der Technischen Informatik
1, 1 0 0 1 1 0 1 1 * 1, 1 1 1 0 1 0 0 0
1 1 0 0 1 1 0 1 1
+ 1 1 0 0 1 1 0 1 1
+ 1 1 0 0 1 1 0 1 1
+ 1 1 0 0 1 1 0 1 1
+ 1 1 0 0 1 1 0 1 1
1 1 1 1 1 1 1 1 1 1
1 1, 0 0 0 0 1 1 1 1 0 1 1 1 1
4. Übungsblatt – Aufgabe 3
M(x1 * x2) = 11,0000 1111 (0111 1) <- Verlust
M(x1 * x2) = 11,0000 1111 = 1,1000 0111 * 21
E(x1 * x2) = 9 + 11 + BIAS = 8310 = 101 00112
E(x1 * x2) = 1010 0112 + 1 = 101 01002
x1 * x2 = 1 | 101 0100 | 1000 0111
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 4
Die Operationen Addition und Multiplikation auf Operanden in
einer Fließkommadarstellung sind normalerweise nicht
Assoziativ. Experimentieren Sie mit einem
PC-Tabellenkalkulationsprogramm um dieses zu belegen.
Bestimmen Sie dadurch auch die Anzahl der Bits,
die zur Speicherung der Mantisse verwendet werden.
Übung zu Grundlagen der Technischen Informatik
4. Übungsblatt – Aufgabe 4
Beispiel: StarOffice 6.0
Man sieht, dass die Zahlen im
64Bit IEEE 754 Format
abgespeichert werden
# 1016 benötigt 54 Binärstellen,
wovon die Niederwärtigsten alle
0 sind. Mit der 52 Bit Mantisse können bis zu 53 Bit berücksichtigt
werden. Die 17 ist eine ungerade Zahl und sorgt bei der Addition
für eine 1 auf der 54. Stelle. Diese Stelle geht aber gerade
verloren, so dass ein Fehler von 1 bleibt.
Übung zu Grundlagen der Technischen Informatik
1020 - 1020 + 17 – 10 + 130 137
1020 - 1020 + 17 – 10 + 130 130
1020 + 17 + 130 - 1020 - 10 -10
1015 - 1015 + 17 - 10 + 130 137
1015 + 17 - 10 - 1015 + 130 137
1015 + 17 + 130 - 1015 -10 137
1016 - 1016 + 17 - 10 + 130 137
1016 + 17 - 10 - 1016 + 130 136#
1016 + 17 + 130 - 1016 - 10 136#
4. Übungsblatt
Danke für die
Aufmerksamkeit
Übung zu Grundlagen der Technischen Informatik