Einführung in die Informatik Inf, SAT Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung und Informatik: Einführung in die Informatik 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: Einführung in die Informatik 2
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: Einführung in die Informatik 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 = ± ( Z m B m + Z m 1 B m 1 +... + Z 1 B 1 + Z 0 B 0 + Z 1 B 1 + Z 2 B 2...) X = ± + µ = Z µ B µ ± + n µ = m Z µ B µ 123,4 = 1 10 2 + 2 10 1 + 3 10 0 + 4 10-1 123,4 = 1 8 2 + 2 8 1 + 3 8 0 + 4 8-1 FB Automatisierung und Informatik: Einführung in die Informatik 4
Zahlensysteme: Bezüglich der Basis B und der zugelassenen Ziffern gilt folgende Übersicht, die in der Tabelle zusammengefasst ist: Zahlensystem Zahlenbasis Ziffern Beispiel Dualsystem B=2 0, 1 11111001100 Fünfersystem B=5 0, 1, 2, 3, 4 30441 Siebenersystem B=7 0, 1, 2, 3, 4, 5, 5551 6 Oktalsystem B=8 0, 1, 2, 3, 4, 5, 3714 6, 7 Dezimalsystem B=10 0, 1, 2, 3, 4, 5, 1996 6, 7, 8, 9 Hexadezimalsystem B=16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 7CC FB Automatisierung und Informatik: Einführung in die Informatik 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: Einführung in die Informatik 6
Zahlensysteme: Besteht die Gefahr der Verwechselung, wird das benutzte Stellensystem durch Zusätze markiert. Folgende Notationsformen sind üblich: Dualsystem: 11111001100 2 Oktalsystem: 3714 8 Dezimalsystem: 1996 10 Hexadezimalsystem: 7CC 16 FB Automatisierung und Informatik: Einführung in die Informatik 7
Beispiele: Dezimal-System Dual-System 5 101 7 111 15 1111 8? 12?? 1110? 00011? 11001 FB Automatisierung und Informatik: Einführung in die Informatik 8
Beispiele: Dezimal-System Oktal-System 5 5 7 7 15? 8 8?? 17 12?? 100? 77? 44 FB Automatisierung und Informatik: Einführung in die Informatik 9
Beispiele: Dezimal-System Hexadezimal-System 5 5 7? 15? 16?? 17 12?? 11? 100 10? 100?? 201 FB Automatisierung und Informatik: Einführung in die Informatik 10
Umrechnungstabelle für die weitere Berechnung: Dezimalsystem Dualsystem Hexadezimalsystem 0 0000 00 1 0001 01 2 0010 02 3 0011 03 4 0100 04 5 0101 05 6 0110 06 7 0111 07 8 1000 08 9 1001 09 10 1010 0A 11 1011 0B 12 1100 0C 13 1101 0D 14 1110 0E 15 1111 0F FB Automatisierung und Informatik: Einführung in die Informatik 11
Zahlenkonvertierung a) Berechnen der Binärzahl von 12 13 10 = 8 + 4 +1 13 10 = 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = = 1101 Basis 2 = 1101 2 = = 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: Einführung in die Informatik 12
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: Einführung in die Informatik 13
Zahlenkonvertierung Beispiel - Umwandlung Dezimalzahl in Dualzahl: 45 10 = X 2? 45 : 2 = 22 Rest: 1, also 45 = 22 2 + 1 22 : 2 = 11 Rest: 0, also 45 = (11 2 + 0) 2 + 1 11 : 2 = 5 Rest: 1, also 45 = = ((5 2 + 1) 2 + 0) 2 + 1 = 5 2 3 + 1 2 2 + 0 2 1 + 1 2 0 5 : 2 = 2 Rest: 1 2 : 2 = 1 Rest: 0 1 : 2 = 0 Rest: 1 Ergebnis: 45 10 = 101101 2 FB Automatisierung und Informatik: Einführung in die Informatik 14
Zahlenkonvertierung Beispiel - Umwandlung Dezimalzahl in Dualzahl: 2005 10 = X 2? 2005 : 2 = 1002 Rest: 1, also 2005 = 1002 2 + 1 1002 : 2 = 501 Rest: 0, also 2005 = (501 2 + 0) 2 + 1 501 : 2 = 250 Rest: 1, also 2005 = = ((250 2 + 1) 2 + 0) 2 + 1 = 250 2 3 + 1 2 2 + 0 2 1 + 1 2 0 250 : 2 = 125 Rest: 0,... 125 : 2 = 62 Rest: 1 62 : 2 = 31 Rest: 0 31 : 2 = 15 Rest: 1 15 : 2 = 7 Rest: 1 7 : 2 = 3 Rest: 1 3 : 2 = 1 Rest: 1 1 : 2 = 0 Rest: 1 Ergebnis: 2005 10 = 0111 1101 0101 2 FB Automatisierung und Informatik: Einführung in die Informatik 15
Zahlenkonvertierung Beispiel - Umwandlung Dezimalzahl in Dualzahl: 1996 10 = X 2? 1996 : 2 = 998 Rest: 0, also 1996= 998 2 + 0 998 : 2 = 499 Rest: 0, also 1996= (499 2 + 0) 2 + 0 499 : 2 = 249 Rest: 1, also 1996= = ((249 2 + 1) 2 + 0) 2 + 0 = 249 2 3 + 1 2 2 + 0 2 1 + 0 2 0 249 : 2 = 124 Rest: 1,... 124 : 2 = 62 Rest: 0 62 : 2 = 31 Rest: 0 31 : 2 = 15 Rest: 1 15 : 2 = 7 Rest: 1 7 : 2 = 3 Rest: 1 3 : 2 = 1 Rest: 1 1 : 2 = 0 Rest: 1 Ergebnis: 1996 10 = 0111 1100 1100 2 FB Automatisierung und Informatik: Einführung in die Informatik 16
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: Einführung in die Informatik 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 + a*16 = b, gesucht a und b -2 mod 16 14 mod 16, denn 2 + 1*16 = 14 FB Automatisierung und Informatik: Einführung in die Informatik 18
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: Einführung in die Informatik 19
Zahlenkonvertierung Beispiel: Umwandlung Dezimalzahl in Zahl zur Basis 5: 1996 10 = X 5? 1996 : 5 = 399 Rest: 1 399 : 5 = 79 Rest: 4 79 : 5 = 15 Rest: 4 15 : 5 = 3 Rest: 0 3 : 5 = 0 Rest: 3 Ergebnis: 1996 10 = 30441 5 Umwandlung Dezimalzahl in Zahl zur Basis 5: 2010 10 = X 5? FB Automatisierung und Informatik: Einführung in die Informatik 20
Zahlenkonvertierung Beispiel: Umwandlung Dezimalzahl in Zahl zur Basis 7: 1996 10 = X 7? 1996 : 7 = 285 Rest: 1 285 : 7 = 40 Rest: 5 40 : 7 = 5 Rest: 5 5 : 7 = 0 Rest: 5 Ergebnis: 1996 10 = 5551 7 Beispiel: Umwandlung Dezimalzahl in Zahl zur Basis 7: 2003 10 = X 7? FB Automatisierung und Informatik: Einführung in die Informatik 21
Zahlenkonvertierung Aufgaben: a) Wandeln Sie die Zahl 211 10 in Zahlen im Dual-, Oktal- und Hexadezimalsystem um! b) Wandeln Sie die Zahl CA 16 in eine Zahl im 5 er Zahlensystem um! c) Wie groß ist die Zahl FE 16 als Dezimalzahl? d) Wie groß ist die Zahl AFFE 16 als Binärzahl? FB Automatisierung und Informatik: Einführung in die Informatik 22
Zahlenkonvertierung 211 10 11010011 2 323 8 D3 16 CA 16 202 10 3302 5 FE 16 254 10 AFFE 1010111111111110 2 FB Automatisierung und Informatik: Einführung in die Informatik 23
Zahlenkonvertierung zwischen 2, 8 und 16er-System Berechnung des Binärsystems: 4711 10 = 1001001100111 2 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 - 0001001001100111 2 = 1 0010 0110 0111 2 = 0001 0010 0110 0111 2 - 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 - 0001001001100111 2 = 1 001 001 100 111 2 = 001 001 001 100 111 2 - Alle drei Bits in eine hexadezimale Zahl umwandeln - 1 1 1 1 4 7 8 FB Automatisierung und Informatik: Einführung in die Informatik 24
Zahlenkonvertierung Weitere Beispiele: a) CAFE 16 ins 5-er System CAFE 16 = 12 4096 + 10 256 + 15 16 + 14 = 51966 10 51966 : 5 = 10393 Rest: 1 10393 : 5 = 2078 Rest: 3 2078 : 5 = 415 Rest: 3 415 : 5 = 83 Rest: 0 83 : 5 = 16 Rest: 3 16 : 5 = 3 Rest: 1 3 : 5 = 0 Rest: 3 51966 10 = 3130331 5 b) AFFE ins Dezimalsystem AFFE 16 = 10 4096 + 15 256 + 15 16 + 14 = 45054 10 FB Automatisierung und Informatik: Einführung in die Informatik 25
2. Nachkommastellen Zahlen mit Nachkommastellen: 123,456789 10 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: Einführung in die Informatik 26
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,6875 10 = Dualzahldarstellung? 0,6875 * 2 = 1,375 vorne Abspalten: 1 0,375 * 2 = 0,750 Abspalten: 0 0,750 * 2 = 1,500 Abspalten: 1 0,500 * 2 = 1,000 Abspalten: 1 Beispiel: 0,3 10 = Dualzahldarstellung? Ergebnis: 0,6875 10 = 0,1011 2 FB Automatisierung und Informatik: Einführung in die Informatik 27
Beispiele: Dezimal-System Dual-System 3,5 11,100000 6,25?? 1101,101 33,046875?? 101,1001 0,1? 5,2? FB Automatisierung und Informatik: Einführung in die Informatik 28
3. Ganzzahl-Multiplikation und -Division Beispiele: 55 10 = 110111 2 55 2 = 110 10 = 1101110 2 16 10 = 10000 2 16/2 = 8 10 = 1000 2 FB Automatisierung und Informatik: Einführung in die Informatik 29
Multiplikation und Division Die binäre Multiplikation kann auf das Verschieben der Bitfolge nach links zurückgeführt werden. 55 10 = 110111 2 55 2 = 110111 SHL 1 = 1101110 2 55 2 = 110111 << 1 = 1101110 2 Vorteil: Einfache und schnelle Implementierung FB Automatisierung und Informatik: Einführung in die Informatik 30
Multiplikation und Division Die binäre Division kann auf das Verschieben der Bitfolge nach rechts zurückgeführt werden. 110 10 = 1101110 2 110/2 = 1101110 SHR 1 = 110111 2 110/2 = 1101110 >> 1 = 110111 2 55 10 = 110111 2 55/2 = 110111 SHR 1 = 11011 2 = 27 FB Automatisierung und Informatik: Einführung in die Informatik 31