25
Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit Übung zu Grundlagen der Technischen Informatik

Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

  • Upload
    haphuc

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

Grundlagen der Technischen Informatik

4. Übung

Christian Knell

Keine Garantie für Korrekt-/Vollständigkeit

Übung zu Grundlagen der Technischen Informatik

Page 2: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 3: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 4: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 5: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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)

Page 6: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 7: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 8: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 9: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 10: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 11: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 12: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 13: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 14: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 15: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 16: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 17: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 18: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 19: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 20: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 21: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 22: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 23: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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

Page 24: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

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#

Page 25: Grundlagen der Technischen Informatik 4. Übungej39evyx/GTI/WS1213/uebung04/uebung04... · Grundlagen der Technischen Informatik 4. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

4. Übungsblatt

Danke für die

Aufmerksamkeit

Übung zu Grundlagen der Technischen Informatik