Zahlen- und Buchstabencodierung. Zahlendarstellung

Ähnliche Dokumente
Algorithmen & Programmierung. Zahlensysteme Bits und Bytes

Schleifenanweisungen

Zahlensysteme und Kodes. Prof. Metzler

Grundlagen der Programmierung

Einführung in die Informatik I

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit

Basisinformationstechnologie I

Computer rechnen nur mit Nullen und Einsen

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

GI Vektoren

Kodierung. Bytes. Zahlensysteme. Darstellung: Zahlen

Grundlagen der Technischen Informatik. 3. Übung

1. Grundlegende Konzepte der Informatik

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14

Grundlagen der Technischen Informatik. 3. Übung

Kapitel 2. Zahlensysteme

2.1 Fundamentale Typen

VI Information und ihre. Texte

Informatik Vorkurs - Vorlesung 2

1. Grundlagen der Informatik Zahlensysteme und interne Zahlendarstellung

3 Kodierung von Informationen

Grundlagen der Informatik

Grundlagen der Informatik

Information und ihre Darstellung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Basiswissen für junge Elektroniker. Womit rechnet ein Computer?

Dualzahlen

Das Rechnermodell - Funktion

Einführung in die Informatik Inf, SAT

Lösung 1. Übungsblatt

Einführung in die Informatik Inf, SAT

Information und ihre Darstellung

1. Informationsdarstellung. Darstellung und Bedeutung. Darstellung und Bedeutung. Interpretation ??? 1. Kapitel

Grundlagen der Datenverarbeitung - Zahlensysteme

Grundlagen der Technischen Informatik. 3. Übung. Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung.

Grundlagen der Programmierung

2 Repräsentation von elementaren Daten

Grundlagen der Informatik I. Übung

Zahlen in Binärdarstellung

Dies sagt schon mal was über das System aus: es basiert auf der Zahl 16.

, 2014W Übungstermin: Fr.,

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Übungspaket 12 Der Datentyp char

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Einführung in die Programmierung

Bei der Darstellung von Daten mit Stromimpulsen gibt es nur 2 ZUSTÄNDE

Grundlagen der Technischen Informatik. 3. Übung

Einführung in die Informatik I

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Informationsdarstellung im Rechner

Herzlich Willkommen zur Informatik I. Bits und Bytes. Zahlensystem zur Basis 10 (Dezimalzahlen) Warum Zahlensysteme betrachten?

Angewandte Informatik

Das Maschinenmodell Datenrepräsentation

Grundlagen der Informatik

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren:

Variablen, Konstanten und Datentypen

Zwischenklausur Informatik, WS 2014/15

2. Web 2.0, Semantic Web. 3. Wissensmanagement. 1. Methoden des Wissensmanagements. 2. Software. 4. Wissensrepräsentation

Grundlagen der Informatik 2. Typen

Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert

4. Daten. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung

Skript. EDV Grundlagen

2 DATEN-INFORMATION-WISSEN. Marcel Götze

Binärzahlen. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

Zahlensysteme Dezimal-System

Einführung in die PC-Grundlagen

Grundlagen der Technischen Informatik. 3. Übung

, 2017S Übungstermin: Di.,

Vom Bit zum CBC. Vom Bit zum CBC. Crashkurs - Digitale Verschlüsselungstechnik. ein Vortrag von Marius Schwarz. im Rahmen des KP 2018

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Übungspaket 8 Datentyp int

, 2015S Übungstermin: Mi.,

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. Informatik 1 / Kapitel 2: Grundlagen

Übungspaket 12 Der Datentyp char

Wirtschaftsinformatik II SS Einführung Datendarstellung und Zahlensysteme Kerstin Schmidt

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. 2.5 Logische Funktionen

Hello World! Eine Einführung in das Programmieren Variablen

, 5 8. Hunderter Zehner Zehntel. Einer

Lösung 1. Übungsblatt

Thema 1 -- Fortsetzung. Computersystem, Informationsdarstellung

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Basisinformationstechnologie I

Zahlensysteme Seite -1- Zahlensysteme

Ganze Zahlen, Ausdrücke Variablen/Konstanten

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Allgemeine Informationen zum Praktikum

Dateien Struktur und Größe

Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände

Zahlensysteme Das 10er-System

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Skript Zahlensysteme

Hauptspeicherinhalt. Ton. Vektorgrafik Bitmapgrafik Digit. Video. 1. Darstellung von Daten im Rechner. Abb. 1.1: Einteilung der Daten

(7) AB 20: Bits und Bytes

Transkript:

Dezimalsystem: Zahlen- und Buchstabencodierung Zahlendarstellung 123 = 1 10 2 + 2 10 1 + 3 10 0 1,23 = 1 10 0 + 2 10-1 + 3 10-2 10 Zeichen im Dezimalsystem: 0,1,...9 10 ist die Basis des Dezimalsystems Informatik: andere Zahlensysteme die besser verarbeitet werden können Dualsystem: Basis ist 2 Oktalsystem: Basis ist 8 Hexadezimalsystem: Basis ist 16 1 / 16 Gi_Vorlesung_03_2016

Dualsystem: Hexadezimalsystem: (0101)2 = 0 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 4 + 1 = 5 (1111)2 = 1 2 3 + 1 2 2 + 1 2 1 + 1 2 0 = 8 + 4 + 2 + 1 = 15 2 Zeichen im Dualsystem: 0,1 2 ist die Basis des Dualsystems = verkürzte Schreibweise für das Dualsystem jeweils 4 Bit werden zusammengefaßt 16 Zeichen im Hexadezimalsystem: 0,1,...9,A,B,C,D,E,F 16 ist die Basis des Hexadezimalsystems (1F)16 = 1 16 1 + 15 16 0 = 16 + 15 = 31 2 / 16 Gi_Vorlesung_03_2016

Zusammenhang der Zahlensysteme: Binärzahl Hexadezimalzahl Dezimalzahl 0000 = 0 = 0 0001 = 1 = 1 0010 = 2 = 2 0011 = 3 = 3 0100 = 4 = 4 0101 = 5 = 5 0110 = 6 = 6 0111 = 7 = 7 1000 = 8 = 8 1001 = 9 = 9 1010 = A = 10 1011 = B = 11 1100 = C = 12 1101 = D = 13 1110 = E = 14 1111 = F = 15 10000 = 10 = 16 3 / 16 Gi_Vorlesung_03_2016

Umrechnung mit Hilfe der "Restwertmethode" 1. Beispiel: Umrechnung Dezimal nach Hexadezimal: Prinzip: (1) Die Dezimalzahl durch 16 teilen (2) Die Nachkommastellen mit 16 multipliziert gibt eine Ziffer (3) Die Stellen vor den Komma durch 16 teilen, weiter mit (2) Aufgabe: Die Dezimalzahl 808 soll in eine Hexadezimalzahl umgerechnet werden 808 / 16 = 50,5 0,5 16 = 8 (1. Ziffer) 50 / 16 = 3,125 0,125 16 = 2 (2. Ziffer) 3 / 16 = 0,1875 0,1875 16 = 3 (3. Ziffer) Ergebnis: (808) 10 = (328) 16 wichtig: Reihenfolge der Ziffern beachten, die niederwertigste Ziffer! 4 / 16 Gi_Vorlesung_03_2016

2. Beispiel: Umrechnung Dezimal nach Dual (Binärzahl) Das Verfahren funktioniert auch mit Binärzahlen, dann muß durch 2 dividiert werden: Beispiel: 808 / 2 = 404,0 0 2 = 0 (1. Ziffer) 404 / 2 = 202,0 0 2 = 0 (2. Ziffer) 202 / 2 = 101,0 0 2 = 0 (3. Ziffer) 101 / 2 = 50,5 0,5 2 = 1 (4. Ziffer) 50 / 2 = 25,0 0 2 = 0 (5. Ziffer) 25 / 2 = 12,5 0,5 2 = 1 (6. Ziffer) 12 / 2 = 6,0 0 2 = 0 (7. Ziffer) 6 / 2 = 3,0 0 2 = 0 (8. Ziffer) 3 / 2 = 1,5 0,5 2 = 1 (9. Ziffer) 1 / 2 = 0,5 0,5 2 = 1 (10. Ziffer) Ergebnis: (808) 10 = (11 0010 1000) 2 5 / 16 Gi_Vorlesung_03_2016

ÜBUNG Aufgabe 1: Wandeln Sie die folgenden Dezimalzahlen in Hexadezimalzahlen um. Wie lauten die zugehörigen Binärzahlen? a) 128 b) 256 c) 808 d) 2730 Aufgabe 2: Wandeln Sie die folgenden Zahlen in Dezimalzahlen um: a) (0000 0100) 2 b) (1000 1000) 2 c) (10) 16 d) (FFFF) 16 6 / 16 Gi_Vorlesung_03_2016

Verwendung von Hexadezimalzahlen in C: a) Hexadezimalzahl in eine Variable schreiben: Schreibweise: 0x... z.b.: 0x02 = 1 Byte, char-variable 0x3F2A = 2 Byte, short int-variable 0x2B003F2A = 4 Byte, int-variable Beispiel: int zahl; zahl = 0x1BFF000A; b) Zahl im Hexadezimalformat ausgeben: Platzhalter %X (Großbuchstaben) %x (Kleinbuchstaben) Beispiel: printf("%x Hex = %d Dez",zahl,zahl); ergibt: A Hex = 10 Dez 7 / 16 Gi_Vorlesung_03_2016

ÜBUNG Aufgabe: Geben Sie das Beispielprogramm ein und testen Sie es: #include <stdio.h> main() { char zahl = 0x41; printf("\ndezimal %d = Hexadezimal %X",zahl,zahl); zahl = zahl + 20; printf("\ndezimal %d = Hexadezimal %X\n\n",zahl,zahl); while(1); } 8 / 16 Gi_Vorlesung_03_2016

Buchstabendarstellung (Zeichencodes) Zeichencode = Zuordnung von Bitkombination zu Buchstaben willkürlich! für PC: ASCII -Code (American Standard Code for Information Interchange) andere: EBCDIC (IBM Großrechner) u.a. Variablentyp zum Abspeichern von Buchstaben: char = 8 Bit = 256 Möglichkeiten Beispiel: binär hexadezimal dezimal ASCII-Code 0100 0001 41 65 A 0100 0010 42 66 B 9 / 16 Gi_Vorlesung_03_2016

Verwendung von ASCII-Zeichencodes in C a) ASCII-Zeichencode in eine Variable schreiben Schreibweise: Beispiel: '...' char zeichen; zeichen = 'A'; in zeichen ist der ASCII Code für A also die Dezimalzahl 65 b) ASCII-Zeichencode ausgeben Platzhalter: %c Beispiel: printf("ascii %c = Dez %d",zeichen,zeichen); ergibt: ASCII A = Dez 65 10 / 16 Gi_Vorlesung_03_2016

Wichtig: Der Computer speichert nur Bitkombinationen Beispiel: Diesen Bitkombinationen werden Bedeutungen zugewiesen bzw. diese Bitkombinationen werden interpretiert. char zahl = 65; printf("%d",zahl); als Dezimalzahl dargestellt ergibt 65 printf("%x",zahl); als Hex-Zahl dargestellt ergibt 41 printf("%c",zahl); als ASCII-Zeichen dargestellt ergibt A zahl = zahl + 1; printf("%c",zahl); als ASCII-Zeichen dargestellt ergibt B 11 / 16 Gi_Vorlesung_03_2016

ÜBUNG Aufgabe 1: Geben Sie das Beispielprogramm ein und testen Sie es: #include <stdio.h> main() { char zahl = 0x41; printf("\ndezimal %d = Hex %X = Zeichen %c",zahl,zahl,zahl); zahl = zahl + 20; printf("\ndezimal %d = Hex %X = Zeichen %c\n\n",zahl,zahl,zahl); while(1); } 12 / 16 Gi_Vorlesung_03_2016

ÜBUNG Aufgabe 2: Schreiben Sie ein Programm, das eine Dezimalzahl von der Tastatur einliest und diese als Hexadezimalzahl und als Zeichen (d.h. das Zeichen, dessen ASCII-Code eingegeben wurde) auf dem Bildschirm ausgibt. Welcher Buchstabe wird mit folgenden Dezimalzahlen codiert: a) 97 b) 65 c) 48 d) 132 Hinweis: Eine Tabelle der ASCII-Codes finden Sie auf dem Web-Server 13 / 16 Gi_Vorlesung_03_2016

ÜBUNG Aufgabe 3: Schreiben Sie ein Programm, das ein Zeichen von der Tastatur einliest, den ASCII-Code in einer unsigned char oder int-variablen speichert (Wertebereich!) und den zugehörigen Zahlenwert als Dezimalzahl und als Hexadezimalzahl auf dem Bildschirm ausgibt. a) Welchen Zahlenbereich belegen die großen Buchstaben A - Z? b) Welchen Zahlenbereich belegen die kleinen Buchstaben a - z? c) Welchen Zahlenbereich belegen die Ziffern 0-9? d) Welchen Zahlen belegen die Umlaute ä,ü,ö,ä,ü,ö? 14 / 16 Gi_Vorlesung_03_2016

Grafische Darstellung des Programmablaufs Sinn: vor der Programmierung: Programmablauf entwerfen nachher: Dokumentation der erstellten Programme auch ohne Kenntnis der Programmiersprache verständlich Hilfsmittel: Flußdiagramme aus genormten Symbolen zusammengesetzt auch auf dem PC zu erstellen (z.b.: Anwendungsprogramm Flowcharter ) Symbole: Start Anweisungen Bedingung nein ja Ende Anweisungsblock Abfrage mit Sprung Beginn / Ende 15 / 16 Gi_Vorlesung_03_2016

Beispiel: (siehe Übung) Start main() { Variable zahl mit Wert 40 hexadezimal laden char zahl = 0x40; Zahl im Dezimalformat ausgeben Inhalt von zahl um 5 erhöhen Zahl im Dezimalformat ausgeben printf("%d",zahl); zahl = zahl + 5; printf("%d",zahl); Ende } 16 / 16 Gi_Vorlesung_03_2016