Inf-Kap 2 zahlensysteme [Kompatibilitätsmodus]

Werbung
Informatikgrundlagen I
Grundlagen der Informatik I
Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm
Hochschule Harz
FB Automatisierung und Informatik
[email protected]
Raum 2.202
Tel. 03943 / 659 338
FB Automatisierung und Informatik: Grundlagen der Informatik I
1
Inhalt
1. Einführung, Literatur, Begriffe
2. Zahlensysteme
3. Rechnen in den Zahlensysteme
4. Rechneraufbau
5. Nichtnumerische Informationen
6. HTML und CSS
7. XML
FB Automatisierung und Informatik: Grundlagen der Informatik I
2
1
1. Zahlendarstellung:
Sag, spielst du XVII und IV?
Apfelmus in: René Goscinny, Albert Uderzo:
Asterix und der Avernerschild.
Auch wenn es heute manchmal in Vergessenheit gerät, der
ursprüngliche Sinn der Computer war die Ausführung
umfangreicher Rechnungen. Daher spielte für die Entwicklung
der Rechentechnik die Zahlendarstellung eine wesentliche
Rolle. Seit 1524 Adam Riese sein Rechenbuch veröffentlichte,
hat sich in Europa das Dezimalsystem durchgesetzt.
FB Automatisierung und Informatik: Grundlagen der Informatik I
3
Zahlensysteme:
Neben dem Dezimalsystem sind alle weiteren Zahlensysteme die vor allem
in der Informatik verwendet werden, sogenannte Stellenwertsysteme.
– Definition - Stellenwertsystem:
– Jede reelle Zahl wird durch eine Folge von Ziffern beschrieben:
– Wie eine Ziffer zum Wert der Zahl beiträgt, hängt von ihrer
Position bezüglich des Kommas ab. Sie wird dazu mit (B = Basis
des Zahlensystems multipliziert. Für den Wert der Zahl ergibt
sich damit:
X = ±( ZmB m + Zm − 1B m −1 + ... + Z 1B1 + Z 0 B 0 + Z − 1B −1 + Z − 2 B −2 ...)
+∞
X = ± ∑ ZµB µ ≈ ±
µ = −∞
123,4 =
123,4 =
+n
ZµB µ
∑
µ
=−m
1⋅102 + 2⋅101 + 3⋅100 + 4⋅10-1
1⋅82 + 2⋅81 + 3⋅80 + 4⋅8-1
FB Automatisierung und Informatik: Grundlagen der Informatik I
4
2
Zahlensysteme:
Bezüglich der Basis B und der zugelassenen Ziffern gilt folgende Übersicht, die in
der Tabelle zusammengefasst ist:
Zahlensystem
Dualsystem
Fünfersystem
Siebenersystem
Zahlenbasis
B=2
B=5
B=7
Oktalsystem
B=8
Dezimalsystem
B=10
Hexadezimalsystem
B=16
Ziffern
0, 1
0, 1, 2, 3, 4
0, 1, 2, 3, 4, 5,
6
0, 1, 2, 3, 4, 5,
6, 7
0, 1, 2, 3, 4, 5,
6, 7, 8, 9
0, 1, 2, 3, 4, 5,
6, 7, 8, 9, A, B,
C, D, E, F
Beispiel
11111001100
30441
5551
3714
1996
7CC
FB Automatisierung und Informatik: Grundlagen der Informatik I
5
Zahlensysteme:
Nicht alle möglichen Zahlensysteme sind von gleicher Bedeutung für die
Informatik. So haben Zahlensysteme mit der Basis B=5 oder B=7 keine
Bedeutung. Deswegen werden diese nicht weiter betrachtet.
Dem gegenüber sind in der Informatik alle Zahlensysteme, deren Basis eine
Potenz von B=2 darstellt, von gleichwertiger Bedeutung.
Dabei werden 1,3 oder 4 Bit zu einer Basis zusammengefasst.
Die Hexadezimalziffern A, B, ..., F sind den Dezimalzahlen 10, 11, ..., 15
wertgleich.
FB Automatisierung und Informatik: Grundlagen der Informatik I
6
3
Zahlensysteme:
Besteht die Gefahr der Verwechselung, wird das benutzte Stellensystem durch
Zusätze markiert. Folgende Notationsformen sind üblich:
Dualsystem:
111110011002
Oktalsystem:
37148
Dezimalsystem:
199610
Hexadezimalsystem:
7CC16
FB Automatisierung und Informatik: Grundlagen der Informatik I
7
Beispiele:
Dezimal-System
Dual-System
5
7
15
8
12
?
?
?
101
111
1111
?
?
1110
00011
11001
FB Automatisierung und Informatik: Grundlagen der Informatik I
8
4
Beispiele:
Dezimal-System
Oktal-System
5
7
15
8
?
12
?
?
?
5
7
?
8
17
?
100
77
44
?
FB Automatisierung und Informatik: Grundlagen der Informatik I
9
Beispiele:
Dezimal-System
Hexadezimal-System
5
7
15
16
?
12
?
?
10
100
?
5
?
?
?
17
?
11
100
?
?
201
FB Automatisierung und Informatik: Grundlagen der Informatik I
10
5
Umrechnungstabelle für die weitere Berechnung:
Dezimalsystem
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dualsystem
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Hexadezimalsystem
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
FB Automatisierung und Informatik: Grundlagen der Informatik I
11
Zahlenkonvertierung
a) Berechnen der Binärzahl von 12
1310 = 8 + 4 +1
1310 = 1*23 + 1*22 + 0*21 + 1*20 =
= 1101 Basis 2 = 11012 =
= 1*8 + 1*4 + 0*2 + 1*1 Basis 2 =
....wiederholtes Ausklammern ...
= (1*4 + 1* 2 + 0*1)*2 + 1*1
= ((1*2 + 1*1)*2+0*1)*2 + 1*1
FB Automatisierung und Informatik: Grundlagen der Informatik I
12
6
Zahlenkonvertierung
b)
13 zur Basis 10 = 1101 zur Basis 2
denn:
13:2=6 Rest 1
6:2= 3 Rest 0
3:2= 1 Rest 1
1:2= 0 Rest 1
Das Konvertieren (Umwandeln) von Dezimalzahlen in Zahlen eines anderen
Zahlensystems bzw. umgekehrt, oder zwischen den anderen Zahlensystemen
basiert auf der Definition der Stellenwertsysteme. Daraus wurde ein
Konvertierungsverfahren, das „Divisions-Restwert-Verfahren“, entwickelt,
das allgemein einsetzbar ist (es beruht darauf, dass man nach Abspalten von
Resten sukzessive versucht, den neuen Basiswert aus der verbliebenen Zahl
„auszuklammern“ und dann nach Potenzen des neuen Basiswertes
zusammenfasst).
FB Automatisierung und Informatik: Grundlagen der Informatik I
13
Zahlenkonvertierung
Beispiel - Umwandlung Dezimalzahl in Dualzahl:
45 : 2
22 : 2
11 : 2
= 22
= 11
=5
Rest:
Rest:
Rest:
5:2
2:2
1:2
=2
=1
=0
Rest:
Rest:
Rest:
4510 = X2 ?
1, also 45 = 22 · 2 + 1
0, also 45 = (11 · 2 + 0) · 2 + 1
1, also 45 =
= ((5 · 2 + 1) · 2 + 0) · 2 + 1
= 5 · 23 + 1 · 22 + 0 · 21 + 1 · 20
1
0
1
Ergebnis: 4510 = 1011012
FB Automatisierung und Informatik: Grundlagen der Informatik I
14
7
Zahlenkonvertierung
Beispiel - Umwandlung Dezimalzahl in Dualzahl:
2005 : 2 = 1002
1002 : 2 = 501
501 : 2 = 250
Rest:
Rest:
Rest:
250 : 2
125 : 2
62 : 2
31 : 2
15 : 2
7:2
3:2
1:2
Rest:
Rest:
Rest:
Rest:
Rest:
Rest:
Rest:
Rest:
= 125
= 62
= 31
= 15
=7
=3
=1
=0
200510 = X2 ?
1, also 2005 = 1002 · 2 + 1
0, also 2005 = (501 · 2 + 0) · 2 + 1
1, also 2005 =
= ((250 · 2 + 1) · 2 + 0) · 2 + 1
= 250 · 23 + 1 · 22 + 0 · 21 + 1 · 20
0, .....
1
0
1
1
1
1
1
Ergebnis: 200510 = 0111 1101 01012
FB Automatisierung und Informatik: Grundlagen der Informatik I
15
Zahlenkonvertierung
Beispiel - Umwandlung Dezimalzahl in Dualzahl:
1996 : 2 = 998
998 : 2 = 499
499 : 2 = 249
Rest:
Rest:
Rest:
249 : 2
124 : 2
62 : 2
31 : 2
15 : 2
7:2
3:2
1:2
Rest:
Rest:
Rest:
Rest:
Rest:
Rest:
Rest:
Rest:
= 124
= 62
= 31
= 15
=7
=3
=1
=0
199610 = X2 ?
0, also 1996= 998 · 2 + 0
0, also 1996= (499 · 2 + 0) · 2 + 0
1, also 1996=
= ((249 · 2 + 1) · 2 + 0) · 2 + 0
= 249 · 23 + 1 · 22 + 0 · 21 + 0 · 20
1, .....
0
0
1
1
1
1
1
Ergebnis: 199610 = 0111 1100 11002
FB Automatisierung und Informatik: Grundlagen der Informatik I
16
8
Zahlenkonvertierung
Kurz:
Die berechnete Zahl im anderen Zahlensystem ergibt sich aus dem Nacheinanderschreiben
der „Rest“-Werte von „unten“ nach „oben“. Oben ist immer das Komma
Restwerte schreibt man auch mittels der „modulo“-Schreibweise:
X mod 3 := Rest von X bis auf Vielfache von 3, oder allgemein:
X mod Y := R mod Y, wenn X= n*Y + R mit 0<= R < Y und n,X,Y,R natürliche Zahlen
(n, R ist dann eindeutig bestimmt).
Beispiele:
5 mod 3 = 2
11 mod 7 =
24 mod 17 =
33 mod 16 =
63 mod 16 =
94 mod 16 =
-2 mod 16 ⇒
–2 + a*16 = b,
gesucht a und b, b∈ 0..15
FB Automatisierung und Informatik: Grundlagen der Informatik I
17
Zahlenkonvertierung
Kurz: Die berechnete Zahl im anderen Zahlensystem ergibt sich aus dem
Nacheinanderschreiben der „Rest“-Werte von „unten“ nach „oben“.
Restwerte schreibt man auch mittels der „modulo“-Schreibweise:
X mod 3 := Rest von X bis auf Vielfache von 3, oder allgemein:
X mod Y := R mod Y,
wenn X= n*Y + R mit 0≤ R < Y und n,X,Y,R natürliche Zahlen
Beispiele:
5 mod 3 = 2
11 mod 7 = 4
24 mod 17 = 7
33 mod 16 = 1
63 mod 16 = 15
94 mod 16 = 14 , denn 5*16 + 14 = 94 oder
94 = 96 – 2 = 6*16 – 2
-2 mod 16 ⇒
-2 mod 16 ⇒
–2 + a*16 = b,
gesucht a und b
14 mod 16, denn –2 + 1*16 = 14
FB Automatisierung und Informatik: Grundlagen der Informatik I
18
9
Zahlenkonvertierung
modulo-Rechenregeln:
(a * b) mod c = a mod c * b mod c
(a + b ) mod c = a mod c + b mod c
Übrigens:
Streng (mathematisch) gesehen ist a mod c eine (Restklassen-)Menge:
a mod c := { x ganze Zahl I x mod c = a mod c },
d.h. a mod c ist immer ein Vertreter aus dieser Restklassen-Menge.
FB Automatisierung und Informatik: Grundlagen der Informatik I
19
Zahlenkonvertierung
Beispiel: Umwandlung Dezimalzahl in Zahl zur Basis 5:
199610 = X5 ?
1996
399
79
15
3
Ergebnis:
:
:
:
:
:
5
5
5
5
5
=
=
=
=
=
399
79
15
3
0
Rest:
Rest:
Rest:
Rest:
Rest:
1
4
4
0
3
199610 = 304415
Umwandlung Dezimalzahl in Zahl zur Basis 5:
201010 = X5 ?
FB Automatisierung und Informatik: Grundlagen der Informatik I
20
10
Zahlenkonvertierung
Beispiel: Umwandlung Dezimalzahl in Zahl zur Basis 7:
199610 = X7 ?
1996
285
40
5
Ergebnis:
:
:
:
:
7
7
7
7
=
=
=
=
285
40
5
0
Rest:
Rest:
Rest:
Rest:
1
5
5
5
199610 = 55517
Beispiel: Umwandlung Dezimalzahl in Zahl zur Basis 7:
200310 = X7 ?
FB Automatisierung und Informatik: Grundlagen der Informatik I
21
Zahlenkonvertierung
Aufgaben:
a)
Wandeln Sie die Zahl 21110 in Zahlen im Dual-, Oktal- und
Hexadezimalsystem um!
b)
Wandeln Sie die Zahl CA16 in eine Zahl im 5’er
Zahlensystem um!
c)
Wie groß ist die Zahl FE16 als Dezimalzahl?
d)
Wie groß ist die Zahl AFFE16 als Binärzahl?
FB Automatisierung und Informatik: Grundlagen der Informatik I
22
11
Zahlenkonvertierung
21110
110100112
3238
D316
CA16
20210
33025
FE16
25410
AFFE
10101111111111102
FB Automatisierung und Informatik: Grundlagen der Informatik I
23
Zahlenkonvertierung zwischen 2, 8 und 16er-System
Berechnung des Binärsystems:
471110 = 10010011001112
Damit ist es trivial, aus der Binär-Lösung sofort die weiteren Zahlen zu berechnen. Man
fasst drei oder vier Bits zusammen:
a) Dual nach Hexadezimal
- Berechnen der Dualzahl
- Zusammenfassen von 4 Bits, von rechts beginnend
- 00010010011001112 = 1 0010 0110 01112 = 0001 0010 0110 01112
- Alle „vier Bits“ in eine hexadezimale Zahl umwandeln
- 1 2 6 7 16
b) Dual nach Oktal
- Berechnen der Dualzahl
- Zusammenfassen von 3 Bits, von rechts beginnend
- 00010010011001112 = 1 001 001 100 1112 = 001 001 001 100 1112
- Alle „drei Bits“ in eine hexadezimale Zahl umwandeln
-1111478
FB Automatisierung und Informatik: Grundlagen der Informatik I
24
12
Zahlenkonvertierung
Weitere Beispiele:
a)
b)
CAFE16 ins 5-er System
CAFE16 = 12 • 4096 + 10 • 256 + 15 • 16 + 14 = 5196610
51966 :
5
=
10393 Rest:
10393 :
5
=
2078
Rest:
2078
:
5
=
415
Rest:
415
:
5
=
83
Rest:
83
:
5
=
16
Rest:
16
:
5
=
3
Rest:
3
:
5
=
0
Rest:
5196610 = 31303315
1
3
3
0
3
1
3
AFFE ins Dezimalsystem
AFFE16 = 10 • 4096 + 15 • 256 + 15 • 16 + 14 = 4505410
FB Automatisierung und Informatik: Grundlagen der Informatik I
25
2. Nachkommastellen
Zahlen mit Nachkommastellen:
123,45678910
1*100
+ 2*10
+ 3*1
+
+
+
+
+
+
4*0,1
5*0,01
6*0,001
7*0,0001
8*0,00001
9*0,000001
FB Automatisierung und Informatik: Grundlagen der Informatik I
26
13
Konvertierung von Zahlen mit Nachkommastellen
Bei der Konvertierung von Nachkommastellen auf eine
Darstellung zu einer neuen Basis geht man gerade umgekehrt vor:
die Zahl wird mit der neuen Basis multipliziert und dann die Stelle
vor dem Komma als neue Ziffer „abgespalten“ (sukzessive). Von
oben nach unten notiert ergeben die Vorkommastellen gerade die
neue Zifferndarstellung zur neuen Basis (durch „Ausklammern“
von Potenzen von 1/b).
Beispiel:
0,687510 = Dualzahldarstellung ?
0,6875 * 2
0,375 * 2
0,750 * 2
0,500 * 2
= 1,375
= 0,750
= 1,500
= 1,000
Beispiel:
0,310 = Dualzahldarstellung ?
vorne Abspalten: 1
Abspalten: 0
Abspalten: 1
Abspalten: 1
Ergebnis: 0,687510 = 0,10112
FB Automatisierung und Informatik: Grundlagen der Informatik I
27
Beispiele:
Dezimal-System
Dual-System
3,5
6,25
?
33,046875
?
0,1
5,2
11,100000
?
1101,101
?
101,1001
?
?
FB Automatisierung und Informatik: Grundlagen der Informatik I
28
14
3. Ganzzahl-Multiplikation und -Division
Beispiele:
5510
=
1101112
55·2
=
11010
1610
=
100002
16/2
=
810
=
11011102
=
10002
FB Automatisierung und Informatik: Grundlagen der Informatik I
29
Multiplikation und Division
Die binäre Multiplikation kann auf das Verschieben der Bitfolge
nach links zurückgeführt werden.
5510
=
1101112
55·2
=
110111 SHL 1
=
11011102
Vorteil:
Einfache und schnelle Implementierung
FB Automatisierung und Informatik: Grundlagen der Informatik I
30
15
Multiplikation und Division
Die binäre Division kann auf das Verschieben der Bitfolge nach
rechts zurückgeführt werden.
11010 =
110/2 =
11011102
1101110 SHR 1 =
1101112
5510
55/2
1101112
110111 SHR 1 =
110112
=
=
FB Automatisierung und Informatik: Grundlagen der Informatik I
= 27
31
16
Herunterladen