B N-1

Werbung
Technische Informatik II
(für Bachelor)
INF 1211
Vorlesung 2: Zahlendarstellungen und Konvertierungen
08.04.2008 , v14
Themen:
1.
2.
3.
Zahlendarstellung
Zahlenkonvertierung
Zeichendarstellung
Quellen:
Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler.
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 1
Polyadische Darstellung von Zahlen (I)
N-1
n = Σ bi * Bi
i=0
=b
N-1 +
N-1 B
bN-2 BN-2 + ∙ ∙ ∙ + b1 B1 + b0 B0
heißt B-adische Darstellung von n
(Basis=B)
bi  {0,1,...,B-1} heißen Ziffern
Beispiel: B=10, bi  {0,1,...,9}
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 2
Polyadische Darstellung von Zahlen (II)
Kurzschreibweisen für B-adische Darstellung:
(bN-1 bN-2 ... b1 b0)B 
oder, wenn klar ist, um welche Basis es sich
handelt:
bN-1 bN-2 ... b1 b0
MSB: Most Significant Digit (Bit)
IDA, Technische Universität Braunschweig
LSB: Least Significant Digit (Bit)
Technische Informatik II (INF 1211)
Seite 3
B-adische Darstellung
Satz:
Die N-stellige B-adische Darstellung ermöglicht jede
ganze Zahl aus {0,1,...,BN-1} auf genau eine Weise
darzustellen.
Beispiele:
B=2 für N=5 Stellen kann die Ganzzahlen n= 0, 1, 2 …. 31 darstellen
25-1
B=5 für N=3 Stellen kann die Ganzzahlen n= 0, 1, 2 …. 124 darstellen
53-1
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 4
Umwandlung von Zahlen zwischen polyadischen Systemen (II)
1. Rechnen im Quellsystem:
(x)B  (y)B‘
1. Stelle die Basis B‘ des Zielsystems im
Quellsystem dar.
2. q0=x
3. Wiederhole für aufsteigendes i:
qi = qi-1 div B‘ ; ri-1 = qi-1 mod B‘ bis qi=0.
1. Die ri sind die B‘-adische Darstellung von y
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 5
Umwandlung von Zahlen zwischen polyadischen Systemen (I)
1. Verfahren der wiederholten Division mit Rest (Basis=B):
Umwandlung n = ( bN-1 bN-2 …. b3 b2 b1 b0) B
n :
B
=
q1
Rest
b0
q1 :
B
=
q2
Rest
b1
q2 :
B
=
q3
Rest
b2
q3 :
B
=
q4
Rest
b3
. . . . . . . . .
qN-2 : B
=
qN-1
Rest
bN-2
qN-1 : B
=
0
Rest
bN-1
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 6
Beispiel: Konvertierung (647)10  ( 101…11)2
=>
IDA, Technische Universität Braunschweig
(647)10 =
Technische Informatik II (INF 1211)
Seite 7
Konvertierung Natürlicher Zahlen
Hornerschema
N-1
n = Σ bi * Bi
i=0
= bN-1BN-1+ bN-2BN-2+...+b1B1+ b0B0
= ((..(bN-1B+ bN-2)* B+ bN-3)* B...+b1)* B+ b0
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 8
Umwandlung von Zahlen zwischen polyadischen Systemen (III)
Abarbeitung des Hornerschemas von links nach rechts:
LSB
MSB
((..(bN-1B+ bN-2)* B+ bN-3)* B...+b1)* B+ b0
Rechnen im Zielsystem:
•
•
•
Umwandeln aller bi ins B‘-adische System
Umwandeln von B ins B‘-adische System
Ausrechnen im B‘-adischen System
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 9
Beispiel: Konvertierung (647)10
MSB
 ( 101…11)2
LSB
01002 )
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 10
Umwandlung von Zahlen zwischen polyadischen Systemen (IV)
deren Basen Zweierpotenzen sind
1. Umwandeln aller Ziffern ins Binärsystem
2. Umwandeln der Quellzahl ziffernweise in
eine Binärzahl
3. Zusammenfassen geeigneter Bits (LSB-first)
als jeweils eine Ziffer im Zielsystem.
4. Erzeugen der Ziffern im Zielsystem
(LSB = least significant bit, also LSB-first heißt:
man beginnt mit dem geringwertigsten Bit)
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 11
Beispiel
4
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
b=2
b‘=24=16
k=4
Seite 12
Beispiele
Binär
2-adisch
Ternär
3-adisch
Oktal
8-adisch
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
0
1
2
10
11
12
20
21
22
100
101
102
110
111
112
120
121
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
IDA, Technische Universität Braunschweig
Dezimal Hexadezimal
10-adisch 16-adisch
Technische Informatik II (INF 1211)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
Seite 13
B-Komplement (I)
Definition:
Sei n eine natürliche Zahl, dargestellt als Nstellige B-adische Zahl. Das B-Komplement
von n ist die N-stellige B-adische Zahl gebildet
aus den letzten N Ziffern von
BN-n
Das B-Komplement wird interpretiert als -n
-n
IDA, Technische Universität Braunschweig
(BN – n)
Technische Informatik II (INF 1211)
Seite 14
B-Komplement (II)
Umwandeln einer B-adischen Zahl ins Negative (B-Komplement):
n = (bN-1 bN-2 ... b1 b0)B
 (- n)zK = (b‘N-1 b‘N-2 ... b‘1 b‘0)B
Jede Ziffer bi wird ersetzt durch die Ziffer (B -1- bi).
Auf die so entstehende Gesamtzahl wird 1 addiert.
Beispiel: Anwendung für B=2
bi ersetzt durch  (B -1- bi)  ( 2-1- bi )
Also bi  1- bi oder bi  bi (also alle Bits werden
invertiert). Dann wird 1 zum invertierten Vektor addiert. Also:
-n = bN-1 bN-2 ... b1 b0 + 1
( -n Entspricht 2N-n )
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 15
Beispiel:
(B=2, N=8 Stellen),
n=4 berechnen Sie -4 in 2-Komplement
1.
Vorzeichen ignorieren und ins Binärsystem
umrechnen: (4)10 = (00000100)2
2. Invertieren, da negativ: 11111011
3.
Eins addieren, da negativ:
11111011 + 00000001 = 11111100
=> (11111100)2 = (- 4)10
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 16
Negieren in B-Komplement (III)
Beispiel:
Hardware-Implementierung 2-Komplement:
Addierer
n
N
N
+
-n
in 2-Komplement
entspricht (2N-n)
N-fach
Inverter
IDA, Technische Universität Braunschweig
1
Technische Informatik II (INF 1211)
Seite 17
Negieren in (B-1)-Komplement
Hardwareimplementierung 1-Komplement:
Entspricht (2-1)-Komplement
n
N
N
N-fach
Inverter
IDA, Technische Universität Braunschweig
-n
in 1-Komplement
entspricht (2N-1 - n)
Technische Informatik II (INF 1211)
Seite 18
B-Komplement, Zahlenbereich
Darstellbarer Bereich N-stelliger B-adischer Zahlen im
B-Komplement für gerades B
{ -(B/2) BN-1 , .... , +(B/2)BN-1-1 }
Genau die Zahlen, die mit einer Ziffer ≥ B/2 beginnen,
sind negativ.
MSB ≥ B/2
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 19
Beispiel: Zahlenbereich für (B=2)
{ -(2/2) 2N-1 bis +(2/2)2N-1-1 }
{ - 2N-1
bis
+(2N-1-1)
}
• bei 8 Bit Bereich: −128(10) bis +127(10)
• bei 16 Bit Bereich: −32768(10) bis +32767(10)
• bei 32 Bit Bereich: −2147483648(10) bis +2147483647(10)
• bei 64 Bit Bereich:
−9223372036854775808(10) bis +9223372036854775807(10)
• usw.
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 20
Beispiel: 4-stellige Zahl als 2-Komplement
- 24-1 = - 8
+ 24-1-1 = 7
IDA, Technische Universität Braunschweig
Dezimal
10-adisch
Binär
2-adisch
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
Technische Informatik II (INF 1211)
negative Zahlen
8
9
10
11
12
13
14
15
Seite 21
bei N=8 Bit,
Bereich: −128(10) bis +127(10)
(-1)
1-Komplement
IDA, Technische Universität Braunschweig
2-Komplement
Technische Informatik II (INF 1211)
Seite 22
Addition einer positiven und einer negativen Zahl
in 2-Komplement, 5-bit Zahlen
Bereich
13
-5
01101
- 00101
-25-1 = -16 bis + 25-1-1 = +15
13
-5
8
11010
01101
+ 11011
01000 = 8
Kein Überlauf (Overflow)!
1
+00001
-5 = 11011
7
-9
00111
- 01001
7
-9
-2
00111
+ 10111
11110 = negativ
00001
10110
+00001
+00001
00010 = 2
-9 = 10111
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 23
Addition zwei Zahlen mit gleichem Vorzeichen
in 2-Komplemnt, 5-bit Zahlen
Bereich
Sicherungstelle
-25-1 = -16 bis + 25-1-1 = +15
Vorzeichen
11
10
21
Regel: Es gibt einen Überlauf
falls das Vorzeichenbit und die
Sicherungsstelle ungleich sind!
0 01011
0 01010
0 10101
Negative! =-11
=> falsch!
ungleich !!! ==> Überlauf!
11
03
14
0 01011
0 00011
0 01110
gleich !!! ==> kein Überlauf!
IDA, Technische Universität Braunschweig
-11
- 7
-18
0 10101
0 11001
1 01110
ungleich !!! ==> Überlauf!
Technische Informatik II (INF 1211)
-11
- 3
-14
0 10101
0 11101
1 10010
gleich !!! ==> kein Überlauf!
Seite 24
Beispiele 8-Bit-Zahlen in 2-Komplement
Bereich
-28-1 = -128 bis + 28-1-1 = +127
0
unterschiedliche Vorzeichen
=> immer überlaufsfrei
ungleich!  Überlauf
1
1
gleich!  korrekt
IDA, Technische Universität Braunschweig
ungleich  Überlauf
Technische Informatik II (INF 1211)
Seite 25
Multiplikation B-adischer Zahlen
Beispiel 1:
Beispiel 2:
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 26
Rationale Zahlen als Festkomma Zahlen
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 27
Hornerschema für Brüche
0, b-1 b-2
……. b-M
Beispiel: (0,3475)10
(0, 1011010)2
-1
n=Σ
i=-M
bi * Bi
= b-1B-1+ b-2B-2+...+b-M+1B-M+1+ b-MB-M
= ((..(b-MB-1+ b-M+1)*B-1+ b-M-2)*B-1...+b-1)*B-1
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 28
Umwandlung von Zahlen zwischen polyadischen
Systemen
Verfahren der wiederholten Multiplikation mit Abschneiden:
n1 : n  B
n2 : n'1B
b1 : n1 
b2 : n2 
n3 : n'2 B
b3 : n3  n'3 : n3  n3 
.................
nM : n'M 1B
bM : nM 
n'1 : n1  n1 
n'2 : n2  n2 
n'M : nM  nM 
Beispiel: S. Übung
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 29
Gleitkommazahlen
Gleitkommazahlen haben den Vorteil, dass sie
einen viel größeren Zahlenbereich abdecken als
gleichlange Festkommazahlen.
Ferner bieten Sie in der Nähe der Null eine
wesentlich höhere Genauigkeit.
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 30
Gleitkommazahlen
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 31
Gleitkommazahlen, Vorzeichen, Exponent und Mantisse
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 32
Normierte Gleitkommazahlen
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 33
Multiplikation von Gleitkommazahlen
N1 = V1 * 0, M1 * 2E1
N2 = V2 * 0, M2 * 2E2
N1 * N2 = (V1*V2) * 0, (M1*M2) *
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
2E1+E2
Seite 34
Addition von Gleitkommazahlen
N1 = V1 * 0,M1 * 2E1
N2 = V2 * 0,M2 * 2E2
1. Exponentendifferenz berechnen (z.B. E1>E2).
d=E1-E2
2. Verschieben der Mantisse M2 um d Stellen
nach rechts. M‘2=M2 >> d
3. Addition der Mantissen M1 und M‘2
4. Berechnung des Vorzeichens des Ergebnisses
5. Normalisierung
N1+N2 = (V)*0, (M1+M‘2) * 2E1
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 35
Standard Gleitkommazahlen
IEEE 754 Format 32-Bit (float, single)
1 Vorzeichenbit
8 Exponentenbits (MSB first)
23 Mantissenbits (MSB first)
Darstellbarer Bereich ca. [-1041..+1041]
IEEE 754 Format 64-Bit (double)
1 Vorzeichenbit
11 Exponentenbits (MSB first)
52 Mantissenbits (MSB first)
Darstellbarer Bereich ca. [-10300..+10300]
IEEE 754 Format 80-Bit (extended)
1 Vorzeichenbit
15 Exponentenbits (MSB first)
64 Mantissenbits (MSB first)
Darstellbarer Bereich ca. [-105000..+105000]
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 36
Restklassensystem
(Chinese Remainder Theorem CRT)
Definition:
Ein Restklassensystem ist ein Zahlensystem,
das durch eine Menge von Moduli bestimmt ist.
Diese Moduli sind natürliche Zahlen, die
paarweise teilerfremd sind.
Sei {p1,p2,...,pk} die Menge der Moduli und
P = p1 p2 ... pk das Produkt aller pi.
Dann sind im zugehörigen Restklassensystem
alle Zahlen von 0 bis P-1 eindeutig durch die
Reste bei der Division durch die pi
charakterisiert.
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 37
Beispiel: Restklassensystem (CRT)
Moduli:
7 und 9, Produkt P=7•9=63
Darstellbare Bereich 0 bis (P-1), also 0 bis 62
N1 = 10
N2 = 4
entspricht
entspricht
3 1
4 4
N1 + N2 = (3+4) mod 7, (1+4) mod 9 = { 0 , 5 }
N1 x N2 = (3x4) mod 7, (1x4) mod 9 = { 5 ,4 }
Inverse Chinese Remainder Theorem ICRT:
x  [( r1. p2 . ( p21 mod p1 )  r2 . p1. ( p11 mod p2 )] mod p1 p2
x  [( r1. 9. 4  r2 . 7. 4] mod 63
N1 + N2 = { 0 , 5 } = 0 . 9 . 4 + 5 . 7. 4 = 140 mod 63 = 14
N1 x N2 = { 5 , 4 } = 5 . 9 . 4 + 4 . 7. 4 = 292 mod 63 = 40
Vorteil: Arithmetik mit kleinen Zahlen
Nachteil: Rückwandlung etwas schwerer
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 38
Codierung der Dezimalziffern
Dezimalziffer
0
1
2
3
4
5
6
7
8
9
Gewichte
Binär
BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
8421
IDA, Technische Universität Braunschweig
Aiken
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
2421
3-Excess
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
keine
Technische Informatik II (INF 1211)
2aus5
11000
00011
00101
00110
01001
01010
01100
10001
10010
10100
74210
Seite 39
EBCDIC (Extenden Binary Coded Decimal Interchange Code)
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
l
0
0000
1
0001
2
0010
3
0011
4
0100
blank
§
.
<
(
+
5
0101
!
$
●
)
;
6
0110
&
-
^
,
%
7
0111
:
#
@
8
1000
A
b
c
d
e
f
g
h
i
9
1001
J
k
l
m
n
o
p
q
r
A
1010
s
t
u
v
w
x
y
z
B
1011
C
1100
A
B
C
D
E
F
G
H
I
D
1101
J
K
L
M
N
O
P
Q
R
E
1110
S
T
U
V
W
X
Y
Z
F
1111
2
3
4
5
6
7
8
9
0
/
1
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
‛
>
?
*
“
Seite 40
ASCII (American Standard Code for Information Interchange)
000
001
010
011
100
101
110
111
0
0000
NUL
0000
DLE
SP
0000
0
@
0000
P
‘
p
1
0001
SOH
0001
DC1
!
0001
1
A
0001
Q
a
q
2
0010
STX
0010
DC2
“
0010
2
B
0010
R
b
r
3
0011
ETX
0011
DC3
#
0011
3
C
0011
S
c
s
4
0100
EOT
0100
DC4
$
0100
4
D
0100
T
d
t
5
0101
ENQ
0101
NAK
%
0101
5
E
0101
U
e
u
6
0110
ACK
0110
SYN
&
0110
6
F
0110
V
f
v
7
0111
BEL
0111
ETB
´
0111
7
G
0111
W
g
w
8
1000
BS
1000
CAN
(
1000
8
H
1000
X
h
x
9
1001
SKIP
1001
EM
)
1001
9
I
1001
Y
i
y
A
1010
LF
1010
SUB
*
1010
:
J
1010
Z
j
z
B
1011
VT
1011
ESC
+
1011
;
K
1011
[
k
{
C
1100
FF
1100
FS
,
1100
<
L
\
1100
l
|
D
1101
CR
1101
GS
-
1101
=
M
1101
]
m
}
E
1110
SO
HOME
1110
.
1110
>
N
1110

n
~
F
1111
SI
1111
NL
/
1111
?
O
1111
_
o
DEL
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 41
Frage:
Warum werden den Kindern
im Orient
bei 1 x 1 Prüfung
die Hände gebunden?
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 42
Modulo 5 Reduzierte Multiplikations-Algorithmus
Warum werden den Kindern im Orient bei 1 x 1 Prüfung die Hände gebunden?
5+1+1
5+1+1+1
5+1+1+1
5+1
3 x 2=6
2 x 4=8
+
+
2 + 3 = 5 x 10 = 50
56
IDA, Technische Universität Braunschweig
3 + 1
Technische Informatik II (INF 1211)
= 4 x 10 = 40
48
Seite 43
Quiz:
Für A x B Fünf- Finger Multiplikationsalgorithmus
A und B sind je grösser als 5.
1. Zeichnen Sie den Multiplikations-graphen
mit Hardwareeinheiten
2. Beweisen Sie die Richtigkeit des
Algorithmus
3. Wie funktioniert der Algorithmus falls A und
B kleinere Werte als 5 annehmen?
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 44
Herunterladen