Arithmetische Grundlagen H.-G. Hopf
Inhalt • Darstellung von ganzen Zahlen • Darstellung von negativen ganzen Zahlen • Darstellung von Gleitpunktzahlen
GDI: Arithmetische Grundlagen / 2
© H.-G. Hopf
Inhalt • Darstellung von ganzen Zahlen • Darstellung von negativen ganzen Zahlen • Darstellung von Gleitpunktzahlen
GDI: Arithmetische Grundlagen / 3
© H.-G. Hopf
Ganze Zahlen – Addition von Dualzahlen
GDI: Arithmetische Grundlagen / 4
+
0
1
0 1
0 1
1 10
© H.-G. Hopf
Ganze Zahlen • Addition im Dezimalsystem
• Addition im Dualsystem 310
116 + 45
011 + 010
1
1
161
101
210 510
5 + 6 = 11 Übertrag 1
0+1=1
1+4 + 1 = 6
1 + 1 = 10
1+0=1
0 + 0 +1 = 1
GDI: Arithmetische Grundlagen / 5
Übertrag 1
© H.-G. Hopf
Ganze Zahlen • Alphabet vierstelliger Dualzahlen B=2
S=4
0000, 0001, 0010, ... , 1110, 1111
– Elementarvorrat: EV = Bs = 24 = 16 – Mit diesem Alphabet können 16 Zeichen (Zahlen) dargestellt werden
GDI: Arithmetische Grundlagen / 6
© H.-G. Hopf
Ganze Zahlen
16 Zahlen
positive Zahlen
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
GDI: Arithmetische Grundlagen / 7
Zuordnung
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 © H.-G. Hopf
Ganze Zahlen
GDI: Arithmetische Grundlagen / 8
? Zuordnung
-8 -7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5 +6 +7
8 Zahlen
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
8 Zahlen
16 Zahlen
negative Zahlen
© H.-G. Hopf
Ganze Zahlen
GDI: Arithmetische Grundlagen / 9
? Zuordnung
0 +1 +2 +3 +4 +5 +6 +7 -8 -7 -6 -5 -4 -3 -2 -1
8 Zahlen
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
8 Zahlen
16 Zahlen
negative Zahlen
© H.-G. Hopf
Ganze Zahlen • Subtraktion im Dezimalsystem
Ergänzungsmethode
116 - 45 1
071 71
5+1=6 4 + 7 = 11 1+0=1
GDI: Arithmetische Grundlagen / 10
Übertrag 1
116 45
© H.-G. Hopf
Ganze Zahlen • Subtraktion im Dezimalsystem
• Subtraktion im Dualsystem 510
116 - 45
-
1
101 010 1
071
011 5+1=6 4 + 7 = 11 1+0=1
GDI: Arithmetische Grundlagen / 11
-210 310 0+1=1
Übertrag 1
1 + 1 = 10
Übertrag 1
1+0=1
© H.-G. Hopf
Ganze Zahlen • Subtraktion im Dezimalsystem
116 +9 5 5 1
Komplementmethode 1071
= 1000 - 45
1
955
1000
1071 Subtrahent: 45 Ergänzen auf 999: 9 5 4 Addieren von 1: 9 5 5 GDI: Arithmetische Grundlagen / 12
71
955 116
116 45
0 © H.-G. Hopf
Ganze Zahlen • Subtraktion im Dezimalsystem
116 +9 5 5 1
Komplementmethode
= 1000 - 45
1
1071 Subtrahent: 45 Ergänzen auf 999: 9 5 4 Addieren von 1: 9 5 5 GDI: Arithmetische Grundlagen / 13
Stellenkomplement Zahlensystemkomplement © H.-G. Hopf
Ganze Zahlen • Subtraktion im Dezimalsystem
116 +9 5 5 1
= 1000 - 45
1
1071 Subtrahent: 45 Ergänzen auf 999: 9 5 4 Addieren von 1: 9 5 5 GDI: Arithmetische Grundlagen / 14
• Subtraktion im Dualsystem
101 + 110
= 1000 -010
1
1011 Subtrahent: 010 Ergänzen auf 111: 1 0 1 Addieren von 1: 110 © H.-G. Hopf
Ganze Zahlen Dualzahlen
negative Zahlen
1111 1110 1101 1100 1011 1010 1001 1000
-001 -010 -011 -100 -101 -110 -111
GDI: Arithmetische Grundlagen / 15
+7 +6 +5 +4 +3 +2 +1 0 -1 -2 -3 -4 -5 -6 -7 -8
Dualzahlen
+111 +110 +101 +100 +011 +010 +001 +000
0111 0110 0101 0100 0011 0010 0001 0000
Positive Zahlen
Komplementmethode
Dezimalzahlen
© H.-G. Hopf
Positive Zahlen
Ganze Zahlen 310
410 0100 0011
0101 510
210 0010
0110 610
110 0001
0111 710
negative Zahlen
010 0000
1000 -810
-110 1111
1001 -710
-210 1110 -310 1101
GDI: Arithmetische Grundlagen / 16
1010 -610 1011 1100 -410
-510 © H.-G. Hopf
Positive Zahlen
Ganze Zahlen 310
410 0100 0011
0101 510
210 0010
0110 610
110 0001
0111 710
negative Zahlen
010 0000
1000 -810
-110 1111
1001 -710
-210 1110 -310 1101
GDI: Arithmetische Grundlagen / 17
1010 -610 1011 1100 -410
-510 © H.-G. Hopf
Ganze Zahlen • Alphabet achtstelliger Dualzahlen B=2
S=8
0000 0000, 0000 0001, ... .... 1111 1110, 1111 1111
– Elementarvorrat: EV = Bs = 28 = 256 – Mit diesem Alphabet können 256 Zeichen (Zahlen) dargestellt werden GDI: Arithmetische Grundlagen / 18
© H.-G. Hopf
Ganze Zahlen Dualzahlen (signed)
0000 0000
0
-128
1000 0000
0000 0001
1
...
1000 0001
...
...
...
...
...
...
-1
1111 1111
...
...
0
0000 0000
...
...
+1
0000 0001
1111 1110
...
...
...
1111 1111
+255
+127
0111 1111
Wertebereich 1 .. 255 GDI: Arithmetische Grundlagen / 19
128 Zahlen
Dezimalzahlen
128 Zahlen
256 Zahlen
Dualzahlen (unsigned)
Wertebereich -128 .. 127 © H.-G. Hopf
Ganze Zahlen • INTEGER - Zahlen – small int
Vorzeichen-Bit
– int
– long int
GDI: Arithmetische Grundlagen / 20
8 Bit = 1 Byte
16 Bit = 2 Byte
32 Bit = 4 Byte
© H.-G. Hopf
Ganze Zahlen • INTEGER - Zahlen – small int Wertebereich:
Vorzeichen-Bit
1-
8 Bit = 1 Byte
256
Wertebereich: -128 - +127
– int Wertebereich:
16 Bit = 2 Byte
1-
65536
Wertebereich: -32768 - +32767
– long int
Wertebereich:
32 Bit = 4 Byte
1-
4294967296
Wertebereich: -2147483648 - + 2147483647 GDI: Arithmetische Grundlagen / 21
© H.-G. Hopf
Inhalt • Darstellung von ganzen Zahlen • Darstellung von negativen ganzen Zahlen • Darstellung von Gleitpunktzahlen
GDI: Arithmetische Grundlagen / 22
© H.-G. Hopf
Gleitpunktzahlen • Gleitpunktzahlen
-12.74
-25 10
• Gleitpunktzahl-Formate: Float, Real, Single, Double, Extended, ... GDI: Arithmetische Grundlagen / 23
© H.-G. Hopf
Gleitpunktzahlen • Gleitpunktzahlen Exponent
-12.74 Vorzeichen
-25 10
Mantisse
-0.1274
Exponent
-23 10
Mantisse (normalisiert) GDI: Arithmetische Grundlagen / 24
© H.-G. Hopf
Gleitpunktzahlen • Gleitpunktzahl-Formate Exponent
-23 10
-0.1274 Mantisse (normalisiert) Vorzeichen-Bit
Größenordnung
Exponent = 8 Bit GDI: Arithmetische Grundlagen / 25
Genauigkeit
Mantisse = 23 Bit © H.-G. Hopf
Gleitpunktzahlen • Gleitpunktzahl-Formate Max(Mantisse) = 0.111111111111111111111112 = 110 Max(Exponent) = 11111112 = 2710 = 12810 Max(Gleitpunktzahl) = 110 * 212810 = 3.4 *103810
Vorzeichen-Bit
Größenordnung
Exponent = 8 Bit GDI: Arithmetische Grundlagen / 26
Genauigkeit
Mantisse = 23 Bit © H.-G. Hopf
Gleitpunktzahlen • Gleitpunktzahl-Formate Max(Mantisse) = 0.111111111111111111111112 = 110 Min(Exponent) =-11111112 =-2710 =-12810 Min(Gleitpunktzahl) = - 110 * 2-12810 = 2.9 *10-3910
Vorzeichen-Bit
Größenordnung
Exponent = 8 Bit GDI: Arithmetische Grundlagen / 27
Genauigkeit
Mantisse = 23 Bit © H.-G. Hopf
Gleitpunktzahlen • Gleitpunktzahl-Formate Größenbereich: 10-38 -
Vorzeichen-Bit
1038
Größenordnung
Exponent = 8 Bit GDI: Arithmetische Grundlagen / 28
Genauigkeit
Mantisse = 23 Bit © H.-G. Hopf
Gleitpunktzahlen • Gleitpunktzahl-Formate – float
Vorzeichenbit
4 Byte
– double
23 Bit - Mantisse
8 Bit 31
Position des Binärpunktes
/1
23
0 /1
8 Byte
11 Bit 63
52 Bit - Mantisse 52
– long double
/
14 Bit
10 Byte 79
0
1
64 Bit - Mantisse
65
0 Integerbit
GDI: Arithmetische Grundlagen / 29
© H.-G. Hopf
Gleitpunktzahlen • Gleitpunktzahl-Formate – float Größenbereich: Genauigkeit:
10-38 - 1038 7 - 8 Stellen
– double Größenbereich: Genauigkeit:
10-308 - 10308 15 - 16 Stellen
– long double Größenbereich: Genauigkeit:
GDI: Arithmetische Grundlagen / 30
10-4932 - 104932 19 - 20 Stellen
© H.-G. Hopf
Zusammenfassung • Es gibt verschiedene Zahlenbereiche • Nicht jeder Zahlenbereich ist für die zu lösende Aufgabe geeignet – z.B.: Zahlenbereich small int Aufgabe 100 + 50 = -106
• Nicht jede reelle Zahl läßt sich exakt repräsentieren – z.B. Zahl π GDI: Arithmetische Grundlagen / 31
© H.-G. Hopf
Zusammenfassung • Nicht jeder Zahlenbereich ist für die zu lösende Aufgabe geeignet – z.B.: Zahlenbereich small int Aufgabe 100 + 50 = -106 100 50 150
-106 GDI: Arithmetische Grundlagen / 32
0110 0100 0011 0010 1001 0110
1001 0110 001 0110 110 1001 110 1010 © H.-G. Hopf