Technische Informatik II

Werbung
Technische Informatik II
(für Bachelor)
INF 1211
Übung 1: Konvertieren von Zahlen
028.04.2008 , v2
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 1a: Konvertieren Sie die Zahl (368)10 in eine Dualzahl.
1. Möglichkeit: Wiederholte Division durch 2 mit Rest.
368 = 184 · 2 + 0
Es gilt also:
(368)10
184 =
92 · 2 + 0
92 =
46 · 2 + 0
46 =
23 · 2 + 0
=
((((((((0·2+1)·2+0)·2+1)·2+1)·2+1)·2+0)·2+0)·2+0)·2+0 23 =
= 1·28+0·27+1·26+1·25+1·24+0·23+0·22+0·21+0·20
= (101110000)2
Die Berechnung erfolgte hierbei im Dezimalsystem.
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
11 · 2 + 1
11 =
5·2+1
5=
2·2+1
2=
1·2+0
1=
0·2+1
Seite 2
Konvertieren von Zahlen
Lösung 1a: Konvertieren Sie die Zahl (368)10 in eine Dualzahl.
368 = (3 · 10 + 6) · 10 + 8
2. Möglichkeit:
Jede Ziffer der Zahl 36810 als 4-stellige
= (00112 · 10102 + 01102) · 10102 + 10002
Binärzahl darstellen und Hornerschema
= (111102 + 01102) · 10102 + 10002
für B = 10 ausrechnen:
= 101101002 + 10002
= 1011100002
Nebenrechnungen im Dualsystem:
0011·1010
11110
100100·1010
0011
+ 0110
100100
0000
100100
000000
0011
100100
0000
000000
0011110
101101000
101101000
+
1000
101110000
Die Berechnung findet hier vollständig im Dualsystem statt, daher ist das Verfahren zur
Konvertierung von Dezimal- in Dualzahlen durch Rechner mit Binärarithmetik geeignet.
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 3
Konvertieren von Zahlen
Lösung 1b: Multiplizieren Sie die Dualzahl aus a) mit der Zahl (101)2 im
Dualsystem.
101110000 · 101 = 368 · 5 = 1840
101110000·101
101110000
000000000
101110000
11100110000
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 4
Konvertieren von Zahlen
Lösung 1c: Konvertieren Sie das Ergebnis aus b) in eine Dezimalzahl.
1. Möglichkeit: Division durch (1010)2 = (10)10 mit Rest. Die Berechnung erfolgt
dabei im Dualsystem:
11100110000:1010 = 10111000
1010
010001
10111000:1010 = 10010
1010
1010
0001111
0001100
1010
1010
10010:1010 = 1
01010
00100 = Rest
1010
1010
01000 = Rest
0000 = Rest
111001100002
= ((12·10102 + 10002)·10102 + 1002)·10102 + 02
= ((1·10 + 8)·10 + 4)·10 + 0
= 1840
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 5
Konvertieren von Zahlen
Lösung 1c: Konvertieren Sie das Ergebnis aus b) in eine Dezimalzahl.
2. Möglichkeit: Berechnung im Dezimalsystem mit Hornerschema
111001100002
= 1·210+1·29+1·28+0·27+0·26+1·25+1·24+0·23+0·22+0·21+0·20
= 1024 + 512 + 256 + 32 + 16
= 1840
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 6
Konvertieren von Zahlen
Lösung 2: Multiplizieren Sie die Zahl (321)4 mit der Zahl (213)4 im 4-adischen
Zahlensystem.
321·213
1302
321
2223
202233
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 7
Konvertieren von Zahlen
Lösung 3: Führen Sie die Subtraktion (2354)10 - (1234)10 im Dualsystem aus.
Benutzen Sie dazu das 2-Komplement.
Zunächst die Zahlenkonvertierung in das Dualsystem:
2354
= (((2·10 + 3)·10 + 5)·10 + 4)
= (((102·10102 + 112)·10102 + 1012)·10102 + 1002)
= 100100110010
1234
= (((1·10 + 2)·10 + 5)·10 + 4)
= (((12·10102 + 102)·10102 + 112)·10102 + 1012)
= 010011010010
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 8
Konvertieren von Zahlen
Lösung 3:
2er Komplement:
1234 = 010011010010
invertieren = 101100101101
eins aufaddieren = 101100101110 = 2er Komplement zu 1234
Dezimalzahl
Schutzstelle
Vorzeichen
Zahlenwert
A = 235410
0
100100110010
Komplement zu B = -123410
1
101100101110
Ergebnis = 112010
0
010001100000
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 9
Konvertieren von Zahlen
Lösung 4: Konvertieren Sie die Zahl (13.303.790)10 in eine Dual-, Oktal- und
Hexadezimalzahl.
Zunächst konvertieren wir die Zahl durch wiederholtes Teilen durch 16 in eine
Hexadezimalzahl:
13303790:16 = 831486 Rest 14
128
50
831486:16 = 51967 Rest 14
48
80
23
51967:16 = 3247 Rest 15
31
16
48
16
77
39
154
3247:16 = 202 Rest 15
64
32
144
32
139
76
108
202:16 = 12 Rest 10
47
128
64
96
16
32
110
127
126
42
13303790 = 121610161516151614161416
15
96
112
112
32
= CAFFE16
14
15
14
10
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 10
Konvertieren von Zahlen
Lösung 4:
Da für Hexadezimalzahlen die Basis = 24 und für Binärzahlen = 2 ist, läßt sich
aus einer Hexadezimalzahl die entsprechende Binärzahl berechnen, indem man
jede einzelne Ziffer der Hexadezimalzahl in eine vierstellige Binärzahl
umrechnet:
(12)10
(10)10
(15)10
(15)10
(14)10
(14)10
(C)16
(A)16
(F)16
(F)16
(E)16
(E)16
(1100)2
(1010)2
(1111)2
(1111)2
(1110)2
(1110)2
Für Oktalzahlen ist die Basis = 23. Aus einer Oktalzahl kann man die
entsprechende Binärzahl errechnen, indem man jede einzelne Ziffer der
Oktalzahl in die entsprechende 3-stellige Binärzahl umrechnet. Umgekehrt
errechnet man aus einer Binärzahl die entsprechende Oktalzahl, indem man wie
folgt je drei aufeinanderfolgende Ziffern der Binärzahl als eine 3-stellige
Binärzahl betrachtet und diese in die entsprechende Oktalziffer umrechnet:
(110 010 101 111 111 111 101 110)2 = (6 2 5 7 7 7 5 6 )8
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 11
Herunterladen