Informatik II

Werbung
2. Zahlen und logische Schaltungen
Überlick
„
„
„
Informatik II
„
„
„
SS 2004
Information und Informationsdarstellung
Zahlensysteme
Rechnerarithmetik
Logische Schaltungen
Boolesche Algebra
Kombinierte logische Schaltungen
Prof. Dr. Dieter Hogrefe
Dipl.-Inform. Michael Ebner
Lehrstuhl für Telematik
Institut für Informatik
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2. Zahlen und logische Schaltungen
2. Zahlen und logische Schaltungen
Polyadische Zahlensysteme (1/2)
„
Polyadische Zahlensysteme (2/2)
Potenzen zu einer Basis B als Stellenwert
„
z.B. Codierung von 198510
…
N-1
n = ∑ai * Bi
i=0
(B, ai ∈ N0, B > 1)
= ((...(aN-1 * B) + aN-2) * B + ...)*B + a1) *B + a0
(Horner Schema)
Konvention:
<ZAHL><BASIS>
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
BCD (kein polyadisches Zahlensystem):
0001
1001
1000
0101
1
= aN-1 * BN-1 + aN-2 * BN-2 + ... + a1 * B1 + a0
„
2.30
besagt das <ZAHL> einen Wert im Zahlensystem mit der Basis <Basis> beschreibt.
z.B.
12310
123 im Dezimalsystem,
11102 1110 im Dualsystem
2.31
9
8
5
…
Dezimalsystem (Basis 10):
198510 = 1 * 103+9 * 102 +8 * 101 + 5 * 100
= ((1 * 10) + 9) * 10 + 8) *10 + 5
…
Dualsystem (Basis 2):
111110000012
= 1*210 + 1*29 + 1*28 + 1*27 + 1*26 + 0*25 + 0*24 + 0*23 + 0*22 + 0*21 + 0*20
=(((((((((1*2 + 1)*2 + 1)*2 + 1)*2 + 1)*2 + 0)*2 + 0)*2 + 0)*2+ 0)*2+ 0)*2+ 1
=198510
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.32
2. Zahlen und logische Schaltungen
2. Zahlen und logische Schaltungen
Zahlensysteme mit Zweierpotenz als Basis
„
„
„
„
„
„
Umrechnung zwischen Zahlensystemen
Binärsystem (Basis 2)
Vierersystem (Basis 4)
Octalsystem (Basis 8)
Hexadezimalsystem (Basis 16) (Zeichenvorrat: 0...9, A...F)
Einfache Umrechnung: „Umgruppieren der Binärstellen“
Beispiel:
146310 = 101101101112
=
01
01
10
11
01
11
1
1
2
3
1
3
=
=
010
110
110
111
2
6
6
7
0101
1011
0111
5
B
7
„
„
I. Darstellung mit Basis B1
*
II. Darstellung mit Basis 10
/
=26678
III. Darstellung mit Basis B2
=5B716
2.33
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
Beispiel für manuelle Umrechnung (2/3)
DB716 = ???7
(1) Multiplikative Umrechnung mit Basis 10
„
D16 * 16102
+ B16 * 16101
+
716 * 16100
= D16 * 25610
+
B16 * 1610
+
716
= 1310 * 25610
+ 1110 * 1610
+
=
332810
+
+
=
351110
17610
710
710
oder entsprechend dem Horner Schema
DB716
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
=
(2)
Dividierende Umrechnung im Quellsystem
(Quellsystem: Basis 10, Zielsystem: Basis 7)
(Einfaches ‘Ausmultiplizieren’)
=
2.34
2. Zahlen und logische Schaltungen
Beispiel für manuelle Umrechnung (1/3)
DB716
Dividierende
Umrechnung im
Quellsystem
(hier Basis 10)
(2)
2. Zahlen und logische Schaltungen
„
Multiplikative
Umrechnung im
Zielsystem
(hier Basis 10)
(1)
= 1123134
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
„
Im allgemeinen reicht es nicht aus einfach nur die Binärstellen
umzugruppieren.
Empfehlung für die manuelle Umrechnung:
((D16 * 1610) + B16) * 1610 + 716
351110
/
7
=
501
Rest 4
=
a0
501
/
7
=
71
Rest 4
=
a1
71
/
7
=
10
Rest 1
=
a2
10
/
7
=
1
Rest 3
=
a3
1
/
7
=
0
Rest 1
=
a4
0
/
7
=
0
Rest 0
=
a5
...
/
7
=
0
Rest 0
=
a6
...
...
...
...
... ...
...
...
...
...
...
...
... 0
=
an
=
((1310 * 1610) + 1110) * 1610 + 710
...
=
(20810 + 1110) * 1610 + 710
...
=
350410 + 710
=
351110
(a4a3a2a1a0)7 = 131447
2.35
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.36
2. Zahlen und logische Schaltungen
2. Zahlen und logische Schaltungen
Empfehlung für manuelle Umrechnung zwischen Zahlensystemen
(Zusammenfassung)
Beispiel für manuelle Umrechnung (3/3)
Beispiel: DB716 = ???7
„
I. Darstellung mit Basis B1
Also:
(1)
Multiplikative
Umrechnung im
Zielsystem
(hier Basis 10)
*
DB716
=
351110
=
131447
Ï
Ï
Schritt (1)
Schritt (2)
(Multiplikation)
(Division)
II. Darstellung mit Basis 10
(2)
Dividierende
Umrechnung im
Quellsystem
(hier Basis 10)
/
2.37
= 501
= 71
= 10
= 1 Rest
= 0 Rest
Rest
Rest
Rest
3
1
4 = a0
4 = a1
1 = a2
= a3
= a4
2.38
2. Zahlen und logische Schaltungen
Direkte Umrechnung einer Zahlendarstellung mit Basis B1 in eine
Zahlendarstellung mit der Basis B2 (2/2)
„
Multiplikative Umrechnung im Zielsystem
Dividierende Umrechnung im Quellsystem
Beispiel: DB716 = ???7
Beispiel: DB716 = ???7
Einfaches ‘Ausmultiplizieren’
DB716
:7
:7
:7
:7
:7
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2. Zahlen und logische Schaltungen
Direkte Umrechnung einer Zahlendarstellung mit Basis B1 in eine
Zahlendarstellung mit der Basis B2 (1/2)
„
3511
501
71
10
1
DB716 = 351110 = 131447
III. Darstellung mit Basis B2
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
DB716 = ((D16 * 16) + B16) * 16 + 716
= ((13 * 16) + 11)*16 +7
= (208 + 11) * 16 + 7
= 219 * 16 + 7
= 3504 + 7
= 351110
=
=
=
=
D16 * 5147
167 * 5147
124637
131447
( 1610 = 1016 = 227,
16102= 25610 = 5147)
+
+
+
B16 * 227
147 * 227
3417
+
+
+
716
107
107
DB716
/
716
= 1F516
1F516
/
716
=
4716
/
716
A16
/
116
/
Rest 4
= a0
4716
Rest 4
= a1
=
A16
Rest 1
= a2
716
=
116
Rest 3
= a3
716
=
016
Rest 1
= a4
oder entsprechend dem Horner Schema
DB716
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
=
=
=
=
=
((D16 * 227) + B16) * 227 + 716
((167 * 227) + 147) * 227 + 107
(4157 + 147) * 227 + 107
131347 + 107
131447
a4 a3 a2 a1 a0 = 131447
2.39
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.40
2. Zahlen und logische Schaltungen
2. Zahlen und logische Schaltungen
Darstellung von Brüchen
Handhabung von unechten Brüchen
Brüche werden als negative Potenzen der Basis dargestellt.
„
zB =
-N
∑ai * Bi
„
Vor dem Komma anfallende Ziffern entsprechen dem Rest bei der
Division im Quellsystem (vgl. Folie 2-35).
„
Für Umrechnung Aufspalten in
(B, ai ∈ N0, B > 1, ai<B)
i=-1
Horner Schema:
z=
1 (a +
-1
B
1 (a-3 + ... +
B
1 (a-2 +
B
1 (a-N+1 +
B
…
1 a-N) ... )
B
…
ganze Zahl und
echter Bruch.
zB = 0 , a-1 a-2 a-3 a-4 ... a-N
Darstellung:
Wiederholte Multiplikation mit der Basis B bringt die Ziffern ai vor das
Komma: -N
-N
zB * B = a-1 + ∑ai * Bi
(wobei immer gilt : ∑ai * Bi < 1)
i=-2
z=
a-1 +
i=-2
1 (a +
-2
B
1
B
(a-3 + ... +
1 (a
-N+1 +
B
1 a ) ... )
-N
B
z.B.: 0.5310 * 1010 = 5,310
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.41
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2. Zahlen und logische Schaltungen
2. Zahlen und logische Schaltungen
Umrechnung im Quellsystem
„
„
Beispiel: Umrechnung im Quellsystem (1/2)
Beispiel: 12,023 = ??,??2
Ganzahliger Anteil:
123 = 1012
Echter Bruch:
0,023 = 0,???2
2.42
„
0,023 = 0,???2
(Bemerkung: 123 = 510)
Dividierende Umrechnung im Quellsystem (vgl. Folie
2-35) bedeutet sukzessive Division durch 1/B
(Division mit Bruch = Multiplikation mit Kehrwert des Bruches)
„
Sukzessive Division durch 1/B entspricht einer
Sukzessiven Multiplikation mit der Basis B.
Der ganzzahlige Anteil bei den Multiplikationsschritten bildet die ai im Zielsystem.
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.43
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.44
2. Zahlen und logische Schaltungen
2. Zahlen und logische Schaltungen
0,023
*
23
=
0,113
a-1
=
0
Beispiel: Umrechnung im Quellsystem (2/2)
0,113
*
23
=
0,223
a-2
=
0
„
0,223
*
23
=
1,213
a-3
=
1
Ergebnis:
12,023
Periode
0,213
*
23
=
1,123
a-4
=
1
0,123
*
23
=
1,013
a-5
=
1
0,013
*
23
=
0,023
a-6
=
0
0,023
*
23
=
0,113
a-6
=
0
0,113
51
7
3
2.45
2. Zahlen und logische Schaltungen
„
„
Darstellung von Brüchen in unterschiedlichen Zahlensystemen kann
zu Ungenauigkeiten führen.
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
Umrechnen im Zielsystem (2/2)
z.B. 0.43657 Ö ???10
(Erinnerung: multiplikative Umrechnung, vgl. Folie 2-34)
Ö wg. Darstellung als negativer Exponent der Basis heißt das
Division
Division nach Horner mit Anschreiben der Ziffern in umgekehrter
Reihenfolge
0,43657 =
1
7
* (4 +
5
1
7
1
* (3 + 71 * (6 + 7 5)))
1
1
= ((( 7 + 6) * 7 + 3) * 7 + 4) *
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.46
2. Zahlen und logische Schaltungen
Umrechnen im Zielsystem (1/2)
„
~ 5,2221710
5,210
„
101,0011102
d.h. 0,023=0,0011102
0,22
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
=
1
7
510
:
710
=
0,714310
6, 714310
:
710
=
0,959210
3, 959210
:
710
=
0,565610
4, 565610 :
710
=
0,652210
0, 4 3 6 5
2.47
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
7
0, 6 5 2 2 10
2.48
2. Zahlen und logische Schaltungen
2. Zahlen und logische Schaltungen
Zahlendarstellung und Rechnen im Dualsystem (1/3)
„
„
„
Durch N Bits lassen sich 2N Zahlenwerte codieren
Nur positive Zahlen, Wertebereich: 0 ... (2N–1)
Positive und negative Zahlen:
…
…
„
„Most significant“ Bit als Vorzeichencodierung
↑
„
„
6
5
4
3
2
1
0
…
Bei positiven Zahlen:
…
Zahlen n und n + BN sind nicht unterscheidbar
(höchstwertige Bit geht verloren)
Bei positiven und negativen Zahlen:
Additionsüberlauf kann zu negativen Ergebnissen führen
Beispiel:
0 1001110
78
…
+ 0 1011000
„most significant bit“
0
= positive Zahl
1
= negative Zahl
1 0100110
|
N = 8 Ö Wertebereich: 0 ... 255 oder -128 ... +127
N= 16 Ö Wertebereich: 0 ... 65535 oder -32768 ... +32767
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.49
Zahlendarstellung und Rechnen im Dualsystem (3/3)
Was macht man?
…
…
man führt Operationen auf einem Zahlenring durch
Darstellung (Codierung) der Zahlen als Binärworte
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
+
88
166
> 128
-38
negatives Vorzeichen
2. Zahlen und logische Schaltungen
„
N Bits erlauben 2N Möglichkeiten zur Zahlendarstellung, d.h. nur
eine Darstellung mit endlicher Genauigkeit.
(N-1) - Bit Zahl mit Vorzeichen
darstellbarer Wertebereich: [-2N-1 ... 0 ... 2N-1-1]
7
„
Zahlendarstellung und Rechnen im Dualsystem (2/3)
2.51
Prof. Dr. Dieter Hogrefe
Informatik II - SS 2004
2.50
Herunterladen