Grundlagen der Informatik I - FB3

Werbung
Grundlagen der Informatik I
Informationsdarstellung
Einführung in die Informatik, Gumm, H.-P./Sommer, M.
Themen der heutigen Veranstaltung
1. ASCIi Code
2. Zeichenketten
3. Logische Operationen
4. Zahlendarstellung
5. Arithmetische Operationen auf Binärzahlen
6. Lernziele
Page 2
ASCII-Code
Darstellung von Text:
Alphabet und Satzzeichen werden in Bitfolgen codiert. Mit 26 Klein- und 26 Großbuchstaben, sowie
Satzzeichen (Punkt, Komma, etc.), Spezialzeichen z.B. (+, -, %, &,…) hat eine normale
Schreibmaschiene knapp 100 Zeichen. Dazu kommen nicht druckbare, Steuerzeichen, wie
Wagenrücklauf (CR= carriage return) oder Tabulator.
Mit einer 7 Bit Darstellung kan man 128 Zeichen kodieren. Man erstellt deswegen eine Tablle die jedem
Zeichen einen (siebenstelligen) Bitcode zuordne. Die ASCII Tablle nummeriert die 128 Zeichen der
Reihenfolge nach durch und ordnet jedem Zeichen den, seiner Position in der Tabelle entsprechenden
Binärcode zu. Diese Kodierung nennt man ASCII für American Standard Code for Information
Interchange.
Zeichen
ASCII
A
65
B
66
a
97
b
98
z
122
?
63
CR
13
Page 3
ASCII Tabelle
Page 4
Zeichenketten
Zeichenketten werden repräsentiert indem die Codes der einzelnen Zeichen aneinander
gereiht werden. Eine solche Folge nennt man auch nach dem englischen Wort ‘string’.
Bsp: ‘Hallo Welt’
Zeichenfolge: H, a, l, l, o, _, W, e, l, t
Leerzeichen = _
Mit Hilfe der ASCII Tabelle erhält man:
072 097 108 108 111 032 087 101 108 116
Bzw. In Hexadezimaler Schreibweise:
48 61 6c 6c 6f 20 57 65 6c 74
Bzw. Als Bitfolge:
01001000 01100001 01101100 01101100 01101111
00100000 01010111 01100101 01101100 01110100
Page 5
Logische Werte
Logische Werte, sogenannte Wahrheitswerte WAHR und FALSCH (engl. TRUE bzw.
FALSE) werden häufig durch die Buchstaben T und F abgekürzt, bzw. 0 und 1.
Auf diesen Werten sind die booleschen Verknüpfungen:
NOT (Negation bzw. Komplement)
AND (Konjunktion)
OR (Disjunktion)
XOR (exclusives OR) festgelegt:
NOT
0
1
1
0
AND
0
1
OR
0
1
XOR
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
Page 6
Logische Werte (cont.)
Bitketten werden bei arithmetischen Operationen auch als Folge von logischen Werten
interpretiert. Die logische Verknüpfung solcher Bitkettten wird als bitweises Verknüpfen der
entsprechenden Kettenelemente definiert.
Z.B.: Komplementberechnung (NOT) der Bitfolge:
NOT 0111 0110 = 1000 1001
Bitweise Konjunktion von 0111 0110 AND 1110 1011 = 0110 0010
Untereinanderschreiben und bitweise Verknüpfung:
0111 0110
AND
1110 1011
--------------------0110 0010
Page 7
Zahlendarstellung
Auch Zahlen können durch Bitfolgen dargestellt werden. Im ASCII code würde z.B. die Zahl
‘4711’ durch die ASCII codes 52, 55, 49, 49 dargestellt werden. Dabei wuerden fuer jede
Ziffer 7 bzw. 8 Bits verwendet werden.
Eine effizientere Darstellung ergibt sich bei einer eins zu eins Kodierung von Zahlen und
Bitfolgen. Wenn man nur Bitfolgen einer festen Länge N betrachtet, so kann man 2N viele
Zahlen darstellen: gebräuchliche Werte für N sind 8, 16, 32 oder 64.
Man repräsentiert durch die Bitfolgen der Länge N:
- Natürliche Zahlen von 0 bis 2N
- Ganze Zahlen zwischen -2N-1 und 2N-1 -1
- Intevalle reeler Zahlen mit begrenzter Genauigkeit
Page 8
Binärdarstellung
Natürliche, positive, ganze Zahlen können mit N Bits dargestellt werden. Man deckt dann
den Bereich von 0 bis 2N-1 ab und kann insgesammt 2N viele Zahlen repräsentieren.
Dabei entspricht die Bitfolge der Binärdarstellung der darzustellenden natürlichen Zahl
(ohne Vorzeichen).
Dezimalzahlen als Koeffizienten von Zehnerpotenzen:
4711 = 4 x 103 + 7 x 102 + 1 x 101 + 1 x 100 = 4 x 1000 + 7 x 100 + 1 x 10 + 1 x 1
Im Binärsystem geht es genauso jedoch hat man statt der Ziffern 0…9 nur 0 und 1:
Binärzahlen als Koeffizienten von Potenzen von 2. Die Bitfolge 1101 den Zahlenwert:
1 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 13
Dies kan auch durch die Gleichung (1101)2 = (13)10 ausgedrückt werden wobei der Index
das Zahlensystem angibt.
Mit 3 Bits können wirt die Zahlen 0 bis 7 darstellen, mit 4 Bits die Zahlen 0 bis 15, mit 8 Bits
die Zahlen von 0 bis 255 mit 16 Bits die zahlen von 0 bis 65535 und mit 32 Bits die Zahlen
von 0 bis 4 294 967 295
Page 9
Arithmetische Operationen
Addition im Binärzahlensystem erfolgt analog zur Addition von Dezimalzahlen.
Ein an einer Ziffernposition entstehender Übertrag wird zur nächsthöheren Ziffernposition
addiert.
Ein Übertrag entsteht immer dann, wenn bei der Addition zweier Ziffern ein Wert entsteht
der größer oder gleich dem Basiswert ist. Bei Binärzahlen passiert das bereits wenn 1 + 1
addiert wird. Es ensteht ein Übertrag von 1 in die nächst höhere Ziffernposition.
Beispiel Addition von 210 + 310 = 510 = 0102 + 0112 = 1012
010
011 1
101
Page 10
Arithmetische Operationen (cont.)
Bei dem vorangegangenen Beispiel wurde eine 3-stellige Kodierung verwendet, da das
resultierende Ergebnis 3-stellig ist.
Hätte man nur mit 2-stelliger Kodierung gearbeitet wäre ein Fehler entstanden.
102 + 112 = 012 bzw. 210 + 310 = 110
Dieser Fehler ensteht offenbar durch den Übertrag (engl. carry) an der höchsten
Ziffernposition in eine ‘nicht existente’ Position. Da das Ergebnis bei dieser Operation nur
als 2-stellig zugelassen wird, wird der Übertrag einfach abgeschnitten und auf dem 2stelligen Ergebnis weitergerechnet.
Der Prozessor zeigt solche Fehler an in dem das Carry Flag gesetzt wird. Es obligt dem
Programmierer bei solchen Operationen darauf zu achten, das
a) Ergebnisse von Operationen immer korrekt darstellbar sind
b) Das Carry Flag abzurufen, um den Fehler zu bemerken.
Page 11
Lernziele
Den ASCII Code erklären und verwenden können
Logische Operationen NOT, AND, OR, XOR erklären und anwenden können.
Binärzahen und Dezimalzahlen als Koeffizienten der Basiszahlen beschreiben können.
Arithmetische Operationen auf Binärzahlen (Addition) erklären und anwenden können.
Page 12
Herunterladen