die Komplement

Werbung
Zahlen und Zeichen (1)
Fragen:
• Wie werden Zahlen repräsentiert und konvertiert?
• Wie werden negative Zahlen und Brüche repräsentiert?
• Wie werden die Grundrechenarten ausgeführt?
• Was ist, wenn das Ergebnis einer Operation größer ist als die größte darzustellende
Zahl?
Hauptunterschied zwischen Computer- und menschlicher Arithmetik:
• Genauigkeit der sowie Platzbedarf für die Darstellung von Zahlen sind beim Computer
endlich und begrenzt.
• Computer arbeiten mit einer anderen Zahlendarstellung
Rechner speichern die Information (Zahlen) in Einheiten festgesetzter Bitlänge,
genannt Worte.
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (2)
Mikroprozessor
Wortlänge (Bits
8085, Z80, 6809
8
8086, 68000
16
80386, 68020
32
Pentium, PowerPC
(Sun SPARC, IBM AIX)
32
typischer Mikrocontroller
(4), 8, 16, (32)
Cray-1 Supercomputer,
Intel Itanium, AMD Opteron
64
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (3)
Beispiel für Zahlendarstellung mit unterschiedlichen Basen:
binär
1
1
1
1
1
0
1
0
0
0
1
1 • 210 + 1 • 29 + 1 • 28 + 1 • 27 + 1 • 26 + 0 • 25 + 1 • 24 + 0 • 23 + 0 • 22 + 0 • 21 + 1 • 20
1024 + 512 + 256 + 128 + 64 + 0 + 16 +
0 +
0 +
0 +
1
oktal
3
7
2
1
3
2
1
3 • 8 + 7 • 8 + 2 • 8 + 1 • 80
1536 + 448 + 16 +
1
dezimal
2
0
0
1
3
2
1
2 • 10 + 0 • 10 + 0 • 10 + 1 • 100
2000 +
0 +
0 +
1
hexadezimal
7
D
1
7 • 162 + 13 • 161 + 1 • 160
1792 +
208 +
1
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (4)
Kollektion von Zahlendarstellungen mit den 4 verschiedenen Basen:
dezimal
0
1
2
3
7
8
10
11
12
15
16
20
50
60
80
100
1000
2989
Vorlesung Informatik 1 WS 2016
binär
oktal
0
1
10
11
111
1000
1010
1011
1100
1111
10000
10100
110010
111100
1010000
1100100
1111101000
101110101101
T. Ihme
0
1
2
3
7
10
12
13
14
17
20
24
62
74
120
144
1750
5655
hexadezimal
0
1
2
3
7
8
A
B
C
F
10
14
32
3C
50
64
3E8
BAD
Zahlen und Zeichen (5)
Beispiel für Konversion einer
Dezimalzahl in eine Binärzahl:
Tabelle für Umwandlung
binär - hexadezimal:
Hexabinär
dezimal
0
1
2
3
4
5
6
7
Quotient
Hexabinär
dezimal
0000
0001
0010
0011
0100
0101
0110
0111
8
9
a
b
c
d
e
f
1492
746
373
186
93
46
23
11
5
2
1
0
1000
1001
1010
1011
1100
1101
1110
1111
Rest
0
0
1
0
1
0
1
1
1
0
1
1 0 1 1 1 0 1 0 1 0 0
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (6)
Vorzeichenbehaftete Zahlen: die Komplement - Darstellung
Komplement: „Ergänzung“
Der negative Wert einer Zahl ist in der Zahl selbst enthalten
• Das Vorzeichenbit ist Teil des Summanden und wird somit in eine
arithmetische Operation mit eingeschlossen
• Subtraktion wird auf die Addition zurückgeführt
• Keine Notwendigkeit für ein zusätzliches Subtrahierwerk
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (7)
Vorzeichenbehaftete Zahlen: das Einer - Komplement
b-1 - Komplement:
z + z = bn − 1
n = Länge der Darstellung von z
b = Basis
Das Einer - Komplement -N einer binären Zahl N aus [0 , 2n-1-1] erreicht man durch
bitweises Invertieren von N
 -N aus [-0, -2n-1-1]
 -N = 2n - N - 1
Subtraktion:= Addition + end-around-carry, d.h. zu der Summe wird das „linke“ Bit
der Summe aufaddiert.
Vorteil:
• zusätzliches Subtrahierwerk überflüssig
Nachteile: • keine eindeutige Darstellung der Null (+0, -0)
• kein echtes Komplement, da -x + x = 0
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (8)
Vorzeichenbehaftete Zahlen: das Zweier - Komplement
b - Komplement:
z + z = bn
n = Länge der Darstellung von z
b = Basis
Das Zweier - Komplement ist ein echtes Komplement
• -N = 2n - N
• -N = Einer - Komplement + 1
• -N = (bitweises Invertieren von N ) + 1
• -N aus [-1, -2n-1]
• Es gibt eine eindeutige Darstellung der Null
• Der Wertebereich des Zweier - Komplements ist [-2n-1, 2n-1-1]
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (9)
Visualisierung des Zweier - Komplements sowie der Addition
0000
1111
1110
-1
0001
-2
1101
0010
0 +1
+2
+3
-3
-4
1100
1011
+4
0100
+5
-5
-6
+6
-7 -8 +7
1010
1001 1000
Vorlesung Informatik 1 WS 2016
0011
T. Ihme
0111
0101
0110
Zahlen und Zeichen (10)
Einfache Additions- (Subtraktions-) Regeln
x+y:
Addition der entsprechenden 2er - Komplemente ergibt korrekte Summe im
2er - Komplement, solange der Wertebereich nicht überschritten wird.
x-y:
Bilde das 2er - Komplement von y und führe Addition wie oben aus.
Konsequenz:
Die logische Einfachheit und die daraus resultierende Geschwindigkeit (arithm.
Operation erfolgt immer in einem Schritt) führt dazu, dass das Zweier - Komplement in
den ALU´s moderner Rechner eingesetzt wird.
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (11)
Kriterien für die Qualität der Zahlendarstellung:
• Größe des darstellbaren Zahlenbereichs (range)
• Genauigkeit (precision) der Zahlendarstellung
Diese beiden Kriterien sind prinzipiell unabhängig voneinander.
Wissenschaftliche Notation: n = a x rE
a - Mantisse (Argument)
r - Radix (Basis)
E - Exponent (Charakteristik)
Floating point - Zahlen in normierter Form:
n = (-1)s · a · 2E mit s als Vorzeichenbit und 1 ≤ a < 2
Parameter für mögliche Darstellungen von Floating point - Zahlen:
• Anzahl der insgesamt verfügbaren Bits (Worte)
• jeweils für Mantisse bzw. Exponent:
– Darstellung
– Anzahl der verfügbaren Bits (Trade-off!)
– Lokalisierung
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (12)
Darstellung im IEEE Standard 754:
32 Bits
Einfache Genauigkeit:
S
Vorzeichen
der Zahl
0 = “+”
1 = “-”
M
E’
23 Bit Mantisse
8 Bit vorzeichenbehafteter
Exponent
Excess-127
Darstellung
Darstellung entspricht:
Beispiel mit
Einfacher Genauigkeit:
±1,M · 2
E’-127
0 00101000 001010…
Darstellung entspricht: 1,001010...0 · 2
64 Bits
Doppelte Genauigkeit:
S
E’
Vorzeichen 11 Bit
Excess-1023
Exponent
Darstellung entspricht:
Vorlesung Informatik 1 WS 2016
T. Ihme
M
52 Bit Mantisse
±1,M · 2
E’-1023
-87
Zahlen und Zeichen (13)
Truncation: Kappung überzähliger Bits durch
• chopping
• von Neuman - Runden
• runden
Kappung überzähliger Bits - Chopping
Prinzip
• Abschneiden der zu rundenden Stellen
Beispiel: 0, b1 b2 b3 b4 b5 b6  Rundung auf 3 Nachkommastellen
0, b1 b2 b3 b4 b5 b6  0, b1 b2 b3
Fehler:
• Zwischen 0 ≤ e < 1 der letzten verbleibenden Stelle (hier b3)
• unsymmetrischer Fehler
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (14)
Kappung überzähliger Bits – Von-Neumann-Runden
Prinzip
• Wenn zu rundende Stellen ungleich 0  letzte verbleibende Stelle = 1
• Wenn alle zu rundende Stellen gleich 0  letzte verbleibende Stelle = 0
Beispiel: 0, b1 b2 b3 b4 b5 b6  Rundung auf 3 Nachkommastellen
a) 0, b1 b2 b3 1 0 1  0, b1 b2 1
b) 0, b1 b2 b3 0 0 0  0, b1 b2 0
Fehler
• -1 < e < +1 der letzten verbleibenden Stelle, (hier b3)
• symmetrischer Fehler
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (15)
Kappung überzähliger Bits – Runden
Prinzip
• Unverzerrte oder mathematische Rundung
• Runden zur nächstgelegenen gekürzten Darstellung
• Falls eindeutige Bestimmung der nächstgelegenen gekürzten Darstellung
nicht möglich, d.h. erste zu rundende Stelle = 1 und alle anderen zu
rundenden Stellen = 0  Runden zur nächsten „geraden“ Zahl
Beispiel: 0, b1 b2 b3 b4 b5 b6  Rundung auf 3 Nachkommastellen
a) 0, b1 b2 b3 1 0 1  0, b1 b2 b3 + 0, 0 0 1
0, b1 b2 b3 0 1 1  0, b1 b2 b3
b) 0, b1 b2 b3 1 0 0  Fallunterscheidung
b1) falls b3 = 0  0, b1 b2 0
b2) falls b3 = 1  0, b1 b2 1 + 0, 0 0 1
Fehler:
• -0,5 < e < +0,5 der letzten verbleibenden Stelle (hier b3)
• symmetrischer Fehler
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (16)
ASCII (bzw,
ISO 7-bit) –
Zeichencode
DEZ HEX Zeichen
00
NUL
00
01
SOH
01
02
STX
02
03
ETX
03
04
EOT
04
05
ENQ
05
06
ACK
06
07
BEL
07
08
BS
08
09
HT
09
0A
LF
10
0B
VT
11
0C
FF
12
0D
CR
13
0E
SO
14
0F
SI
15
10
DLE
16
11
DC1
17
12
DC2
18
13
DC3
19
14
DC4
20
15
NAK
21
16
SYN
22
17
ETB
23
18
CAN
24
19
EM
25
1A
SUB
26
1B
ESC
27
1C
FS
28
1D
GS
29
1E
RS
30
1F
US
31
Vorlesung Informatik 1 WS 2016
DEZ HEX Zeichen
20
SP
32
21
!
33
22
"
34
23
#
35
24
$
36
25
%
37
26
&
38
27
'
39
28
(
40
29
)
41
2A
*
42
2B
+
43
2C
,
44
2D
45
2E
.
46
2F
/
47
30
0
48
31
1
49
32
2
50
33
3
51
34
4
52
35
5
53
36
6
54
37
7
55
38
8
56
39
9
57
3A
:
58
;
3B
59
3C
<
60
3D
=
61
3E
>
62
3F
?
63
T. Ihme
DEZ
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
HEX
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
Zeichen
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
DEZ
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
HEX
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
Zeichen
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
Zahlen und Zeichen (17)
Erweiterungen des ASCII-Codes:
•
ISO 646 (Latin-1)
•
ISO 8859 (code pages)
– ISO 8859-1 (Latin-1, Westeuropa)
– ISO 8859-2 (Latin-2, Zentral- und Osteuropa, slawische
Sprachen)
– ISO 8859-3 (Latin-3, Südeuropa, z.B. türkisch, maltesisch,
Esperanto)
– ISO 8859-4 (Latin-4, Nordeuropa, z.B. baltische Sprachen)
– ISO 8859-5 (Kyrillisch, z.B. Bulgarisch, Russisch, Serbisch)
– ...
•
ISO 10646 (Unicode)
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (18)
Unicode
• 65,536 code points
• enthält Latin-1 als Untermenge (336 code points)
• weitere Sprachenbeispiele:
– griechisch (144), kyrillisch (256), armenisch (96), hebräisch (112)
• code points für Sonderzeichen:
– z.B. Indizes (48), Währungssymbole (48), math. Symbole (256)
• Symbole für chinesisch, japanisch, koreanisch
• 6,400 code points frei definierbar für den lokalen Gebrauch
• steigende Akzeptanz, wird schon unterstützt von einigen
Programmiersprachen (Java) und Betriebssystemen (Windows NT …
Windows 8, Linux, Mac OSX)
Vorlesung Informatik 1 WS 2016
T. Ihme
Zahlen und Zeichen (19)
Beispiele für kodierte
Information in einem
32-Bit Wort
Vorlesung Informatik 1 WS 2016
T. Ihme
Herunterladen