ue02

Werbung
Technische Informatik II
(für Bachelor)
INF 1211
Übung 2: Konvertieren von Zahlen
18.04.2008 , v3
Überarbeitet von T. Çatalkaya
Quellen:
Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Michalik
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 1
Konvertieren von Zahlen
Lösung 1: Zeigen Sie: In jedem B-adischen Zahlensystem mit B ≥ 4 ist (1331)B
eine Kubikzahl.
(1331)B = 1 · B3 + 3 · B2 + 3 · B1 + 1 · B0
= (B+1)3
= ((11)B)3
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 2
Konvertieren von Zahlen
Lösung 2a: Konvertieren Sie die Zahl (0,1358)10 ins 2er, 4er, 5er und 8er
System. Das Ergebnis soll auf 5 Stellen genau sein.
(0,1358)10 → 2er System
(0,1358)10 → 4er System
0,1358 · 2 = 0,2716 => 0
0,1358 · 4 = 0,5432 => 0
0,2716 · 2 = 0,5432 => 0
0,5432 · 4 = 2,1728 => 2
0,5432 · 2 = 1,0864 => 1
0,1728 · 4 = 0,6912 => 0
0,0864 · 2 = 0,1728 => 0
0,6912 · 4 = 2,7648 => 2
0,1728 · 2 = 0,3456 => 0
0,6912 · 4 = 2,7648 => 2
0,3456 · 2 = 0,6912 => 0
0,0592 · 4 = 0,2368 => 0
→ (0,00100)2
→ (0,020230)4
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 3
Konvertieren von Zahlen
Lösung 2b: Konvertieren Sie die Zahl (0,1358)10 ins 2er, 4er, 5er und 8er
System. Das Ergebnis soll auf 5 Stellen genau sein.
(0,1358)10 → 5er System
(0,1358)10 → 8er System
0,1358 · 5 = 0,679 => 0
0,1358 · 8 = 1,0864 => 1
0,679 · 5 = 3,395 => 3
0,0865 · 8 = 0,6912 => 0
0,395 · 5 = 1,975 => 1
0,6912 · 8 = 5,5296 => 5
0,975 · 5 = 4,875 => 4
0,5296 · 8 = 4,2368 => 4
0,875 · 5 = 4,375 => 4
0,2368 · 8 = 1,8944 => 1
0,375 · 5 = 1,875 => 1
0,8944 · 8 = 7,1552 => 7
→ (0,031441)5
→ (0,105417)8
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 4
Konvertieren von Zahlen
Lösung 3: Konvertieren Sie die Zahl 468,2 in die Festkommadarstellung zur
Basis 2 mit 9 Vorkomma- und 6 Nachkommastellen.
468,2 = (468)10 + (0,2)10
( b9b8b7b6b5b4b3b2b1b0 , b-1b-2b-3b-4b-5b-6 )2
Berechnung der bi für 0 ≤ i ≤ 9: (in Hex (Basis 16)
468:16 = 29 Rest 4
32
148
144
4
29:16 = 1 Rest 13
16
13  D16
1:16 = 0 Rest 1
 (468)10 = (1 D 4 )16
Berechnung der bi für -6 ≤ i ≤ -1:
0,2 · 2 = 0,4 => b-1 = 0
0,4 · 2 = 0,8 => b-2 = 0
0,8 · 2 = 1,6 => b-3 = 1
0,6 · 2 = 1,2 => b-4 = 1
0,2 · 2 = 0,4 => b-5 = 0
0,4 · 2 = 0,8 => b-6 = 0
0,8 · 2 = 1,6 => b-7 = 1

= ( 1 1101 0100 )2
( 0, 0011001 )2
Damit ergibt sich nach Rundung (b-6 wird auf 1 gesetzt, da die siebte Nachkommastelle eine 1 ist)
das Ergebnis: (b9b8b7b6b5b4b3b2b1b0,b-1b-2b-3b-4b-5b-6)2 = (111010100 , 001101)2
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 5
Konvertieren von Zahlen
Lösung 4a: Wandeln Sie die Zahlen A=(58)10 und C=(23)10 ins 4er und ins 6er
System um, und führen Sie die Subtraktion A-C mit Hilfe des
B-Komplements durch.
In 4er System:
58 : 4 = 14 Rest 2
23 : 4 = 5 Rest 3
14 : 4 = 3 Rest 2
5 : 4 = 1 Rest 1
3 : 4 = 0 Rest 3
1 : 4 = 0 Rest 1
→ (23)10 = (113)4
→ (58)10 = (322)4
-113
Komplement bilden:
Addieren:
100004
01134
032214
0322
+ 3221
1 0203
IDA, Technische Universität Braunschweig
Kontrolle:
3224-1134=2034
(58-23=35)10
↑
Überlauf
Technische Informatik II (INF 1211)
2 . 42 + 3 . 40
32 + 3 = 35
Seite 6
Konvertieren von Zahlen
Lösung 4b: Wandeln Sie die Zahlen A=(58)10 und C=(23)10 ins 4er und ins 6er
System um, und führen Sie die Subtraktion A-C mit Hilfe des
B-Komplements durch.
6er System:
58 : 6 = 9 Rest 4
23 : 6 = 3 Rest 5
9 : 6 = 1 Rest 3
3 : 6 = 0 Rest 3
1 : 6 = 0 Rest 1
→ (58)10 = (134)6
→ (23)10 = (35)6
Komplement bilden:
Addieren:
Kontrolle:
100006
0356
55216
01346
+55216
10055
1346-356=556
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 7
Konvertieren von Zahlen
Lösung 5: Konvertieren Sie die Zahl (556)7 ins 3er und ins 8er System.
(556)7 → 3er System
(556)7 → 8er System
(556)7 : (3)7 = 164 Rest 1
(556)7 : (11)7 = 50 Rest 6
(164)7 : (3)7 = 43 Rest 2
(50)7 : (11)7 = 4 Rest 3
(43)7 : (3)7 = 13 Rest 1
(3)7 : (11)7 = 0 Rest 4
(13)7 : (3)7 = 3 Rest 1
→ (556)7 = (436)8
(3)7 : (3)7 = 1 Rest 0
(1)7 : (3)7 = 0 Rest 1
→ (556)7 = (101121)3
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 8
Konvertieren von Zahlen
Lösung 6a-1: Bestimmen Sie die Gleitkommadarstellung der Zahlen 10 und
0,3 im IEEE 32-Bit-Format.
10 = (1010)2
= (-1)0 · (1,010)2 · 23
= (-1)0 · (1,010 000 000 000 000 000 000 00)2 · 2130-127
Die Gleitkommadarstellung der Zahl 10 im IEEE 32-Bit-Format besteht also aus
dem Vorzeichenbit V = 0,
der Mantisse M = 010 000 000 000 000 000 000 00 und
dem Exponenten E = (130)10 = 10 000 010.
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 9
Konvertieren von Zahlen
Lösung 6a-2: Bestimmen Sie die Gleitkommadarstellung der Zahlen 10 und
0,3 im IEEE 32-Bit-Format.
Für die Zahl 0,3 gilt:
0,3 · 2 = 0,6 => b-1 = 0
0,6 · 2 = 1,2 => b-2 = 1
0,2 · 2 = 0,4 => b-3 = 0
0,4 · 2 = 0,8 => b-4 = 0
0,8 · 2 = 1,6 => b-5 = 1
0,6 · 2 = 1,2 => b-6 = 1
Nach Rundung auf 23 Nachkommastellen ist
0,3 = (1,00110011001100110011010)2 · 2-2.
Die Gleitkommadarstellung der Zahl 0,3 im IEEE
32-Bit-Format besteht also aus
dem Vorzeichen V = 0,
der Mantisse M = 00110011001100110011010
und dem Exponenten E = 125 = 01111101.
0,2 · 2 = 0,4 => b-7 = 0
0,4 · 2 = 0,8 => b-8 = 0
0,8 · 2 = 1,6 => b-8 = 1
=> 0,3 = (0,01001 .. )2
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 10
Konvertieren von Zahlen
Lösung 6b: Addieren Sie die beiden Gleitkommazahlen aus 6a-1 und 6a-2.
(1,010 000 000 000 000 000 000 00)2 · 23 + (1,00110011001100110011010)2 · 2-2
1. Basendifferenz ausgleichen:
Exponentendifferenz: 3-(-2) = 5
Die zweite Binärzahl muss also um 5 Stellen nach rechts geschoben werden,
wenn der Exponent der Zweierpotenz von -2 auf 3 geändert wird.
2. Addieren:
1,010 000 000 000 000 000 000 00
+ 0,000 010 011 001 100 110 011 01
1,010 010 011 001 100 110 011 01
Das Ergebnis der Addition lautet hiermit: (1,01001001100110011001101)2 · 23
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 11
Konvertieren von Zahlen
Lösung 6c: Multiplizieren Sie die beiden Gleitkommazahlen.
Wir multiplizieren
(1,00110011001100110011010)2 · 2-2 mit (1,010 000 000 000 000 000 000 00)2 · 23
Es werden die Mantissen ergänzt und die führenden Einsen miteinander multipliziert.
Die Multiplikation von 2-2 mit 23 wird durch Addition der Exponenten ausgeführt:
2-2 · 23 = 2-2+3 = 21
Die Multiplikation der 24-Bit Dualzahlen ergibt:
1,00110011001100110011010 · 1,01000000000000000000000
100110011001100110011010
000000000000000000000000
100110011001100110011010
000000000000000000000
11000000000000000000000010000000000000000000000
Als Ergebnis erhält man also
(1,1000000000000000000000010)2 · 21 ≈ 3
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 12
Konvertieren von Zahlen
Lösung 7-1: Bestimmen Sie die kleinste und die größte positive
Gleitkommazahl im IEEE 32-Bit-Format.
Die Gleitkommazahl wird aufgebaut durch Mantisse · BasisExponent.
Das meist benutzte Gleitkommaformat ist in der Norm IEEE 754 spezifiziert.
Gesamtlänge
n Bit
32
Mantissenlänge
n Bit
23
Exponentlänge
n Bit
8
xmin
2-126 ≈ 10-38
xmax
(2 - 2-23) · 2-127 ≈ 1038
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 13
Konvertieren von Zahlen
Lösung 7-2: Bestimmen Sie die kleinste und die größte positive
Gleitkommazahl im IEEE 32-Bit-Format.
Die kleinste Gleitkommazahl wk im IEEE 32-Bit-Format ergibt sich wie folgt:
wk = (-1)0 · (0,00…01)2 · 2-126
= 2-23 · 2-126
= 2-149
Die größte positive Gleitkommazahl wg im IEEE 32-Bit-Format ergibt sich wie folgt:
wk = (-1)0 · (1,1…1)2 · 2254-127
= 1 · (1,1…1)2 · 2127
= 1 · (1,1…1)2 · 2127-23
= (224 – 1) · 2104
= 2128 – 2104
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 14
Herunterladen