54
© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 1/54 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz / Jürgen Wohlrab: Grundlagen der Informatik

Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

Embed Size (px)

Citation preview

Page 1: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 1/54

Kapitel 3:

Speicherung und Interpretation von Information

Helmut Herold / Bruno Lurz / Jürgen Wohlrab:Grundlagen der Informatik

Page 2: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 2/54

ZahlensystemeRömische Zahlen

Page 3: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 3/54

ZahlensystemeLeibniz-Traktat bezüglich Dualzahlen von 1679

Page 4: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 4/54

ZahlensystemePositionssysteme bei natürlichen Zahlen

Ein Positionssystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Eine natürliche Zahl n wird durch folgende Summe dargestellt:

Page 5: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 5/54

ZahlensystemeZahlendarstellung in verschiedenen Zahlensystemen

Page 6: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 6/54

Zahlensysteme Positionssysteme bei gebrochenen Zahlen

Bei gebrochenen Zahlen trennt ein Punkt (Komma im Deutschen) in der Zahl den ganzzahligen Teil der Zahl vom gebrochenen Teil (Nachkommateil). Solche Zahlen lassen sich durch folgende Summenformel beschreiben:

Page 7: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 7/54

Zahlensysteme Positionssysteme bei gebrochenen Zahlen

• Beispiele:

Page 8: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 8/54

Dual-, Oktal- und Hexadezimalsystem

In der Informatik spielen das Dual-, Oktal- und Hexadezimalsystem eine zentrale Rolle.

– Das Dualsystem und das Bit im Rechner• Das von uns verwendete Zehnersystem ist ein

Positionssystem. Jeder Position in einer Zahl ist ein bestimmter Wert zugeordnet, der eine Potenz von 10 ist.

• Das Zehnersystem, in dem 10 verschiedene Ziffern 0, 1, 2,…, 9 existieren, ist technisch schwer zu realisieren. Daher benutzt man in Rechnern intern das Dualsystem, bei dem nur zwei Ziffern, 0 und 1, verwendet werden, die sich technisch relativ leicht nachbilden lassen:

Page 9: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 9/54

Dual-, Oktal- und Hexadezimalsystem

• Eine einzelne Binärstelle (0 oder 1), die ein Rechner speichert,wird als Bit bezeichnet. Das ist die Abkürzung für „BInary digiT“, also Binärziffer. Es handelt sich um die kleinste Informationseinheit, die ein Computer verarbeiten kann.

• Auch beim Dualsystem handelt es sich um ein Positionssystem. Der Wert einer Position ist hier jedoch eine Potenz von 2:

• Beispiele:

Page 10: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 10/54

Dual-, Oktal- und Hexadezimalsystem

– Konvertieren zwischen Dual- und Oktalsystem• Neben dem Dualsystem ist in der Informatik noch das

Oktalsystem wichtig, da es in einer engen Beziehung zum Dualsystem steht. Es gilt nämlich: 23 = 8 (Basis des Oktalsystems).

• Um eine im Dualsystem dargestellte Zahl ins Oktalsystem zu konvertieren, bildet man von rechts beginnend so genannte Dualtriaden (Dreiergruppen).

Page 11: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 11/54

Dual-, Oktal- und Hexadezimalsystem

– Konvertieren zwischen Dual- und Oktalsystem• Bei der Umwandlung einer Oktalzahl in ihre Dualdarstellung

geht man den umgekehrten Weg.

• Es ist offensichtlich, dass ein Mensch sich die Zahl 3614(8)

wesentlich leichter merken und damit umgehen kann, als 011110001100(2).

Page 12: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 12/54

Dual-, Oktal- und Hexadezimalsystem

– Konvertieren zwischen Dual- und Hexadezimalsystem• Neben dem Dualsystem ist in der Informatik noch das

Hexadezimalsystem wichtig, da es ebenfalls in einer engen Beziehung zum Dualsystem steht. Es gilt nämlich: 24 = 16.

• Um eine im Dualsystem dargestellte Zahl ins Hexadezimalsystem zu konvertieren, bildet man von rechts beginnend so genannte Dualtetraden (Vierergruppen).

Page 13: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 13/54

Konvertierungsalgorithmen: Konvertieren von anderen Systemen in das Dezimalsystem

Eine in einem Positionssystem mit der Basis B dargestellte natürliche Zahl n:

lässt sich mit Hilfe des Hornerschemas wie folgt darstellen:

Mit Hilfe dieser Darstellung können Konvertierungen in das Dezimalsystem einfach durchgeführt werden.

Page 14: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 14/54

Konvertieren vom Dezimalsystem in andere Systeme

Für die Umwandlung einer Dezimalzahl x in ein Zahlensystem mit der Basis n kann folgender Algorithmus verwendet werden:

Page 15: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 15/54

Konvertieren vom Dezimalsystem in andere Systeme

Beispiele:

Page 16: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 16/54

Konvertieren echt gebrochener Zahlen in das Dezimalsystem

Eine echt gebrochene Zahl n (n < 1):

lässt sich mit Hilfe des Hornerschemas wie folgt darstellen:

Mit Hilfe dieser Darstellung können wieder Konvertierungen von anderen Systemen in das Dezimalsystem einfach durchgeführt werden.

Page 17: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 17/54

Konvertieren echt gebrochener Zahlen vom Dezimalsystem in andere Systeme

Für die Umwandlung des Nachkommateils einer Dezimalzahl in ein anderes Positionssystem existiert folgender Algorithmus, wobei B die Basis des Zielsystems ist:

Page 18: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 18/54

Konvertieren echt gebrochener Zahlen vom Dezimalsystem in andere Systeme

Beispiele:

Die Überläufe z von oben nach unten nach 0. nebeneinandergeschrieben liefern dann die gesuchte Zahl.

Page 19: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 19/54

Genauigkeitsverluste bei der Umwandlung gebrochener Dezimalzahlen

Manche gebrochenen Zahlen, die sich ganz genau im Dezimalsystem darstellen lassen, lassen sich leider nicht ganz genau als Dualzahl darstellen.

Typische Beispiele dafür sind Zahlen, die sich im Dualsystem nur durch eine periodische Ziffernfolge repräsentieren lassen, wie z. B. 0.1(10) = 0.0001 1001 1001 1…(2):

Solche Ungenauigkeiten treten dann natürlich auch in den Rechnern auf, die ja mit dem Dualsystem arbeiten.

Im Beispiel wiederholt sich das Bitmuster 0011und es gilt:

Page 20: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 20/54

Konvertieren unecht gebrochener Zahlen

Um eine unecht gebrochene Zahl zu konvertieren, muss diese in ihren ganzzahligen Teil und ihren echt gebrochenen Teil aufgeteilt werden, die dann getrennt von einander zu konvertieren sind.

Page 21: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 21/54

Rechenoperationen im DualsystemAddition von Dualzahlen

Für die duale Addition gilt allgemein:

Page 22: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 22/54

Rechenoperationen im DualsystemSubtraktion u. negative Zahlen

Negative Zahlen werden üblicherweise durch ihren Betrag mit vorangestelltem Minuszeichen dargestellt.

– Diese Darstellung wäre auch rechnerintern denkbar, hat jedoch den Nachteil, dass man eine gesonderte Vorzeichenrechnung durchführen müsste und man ein Rechenwerk benötigt, das sowohl addieren als auch subtrahieren kann.

– Man kann die Subtraktion auf eine Addition zurückzuführen durch das Verfahren der Komplementbildung.

– Man unterscheidet zwei Arten der Komplementbildung, wobei B für das Zahlensystem steht: B-Komplement und (B-1)-Komplement

– Da das B-Komplement technisch leichter realisierbar ist, wird vorwiegend mit dem B-Komplement (Zweier-Komplement) gearbeitet.

Page 23: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 23/54

Rechenoperationen im DualsystemB-Komplement

Zuordnung der Bitkombinationen zu positiven und negativen Zahlen Zahlenring für vier Bits, erstes Bit ist Vorzeichenbit

Page 24: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 24/54

Rechenoperationen im DualsystemB-Komplement

• Regeln für die Bildung eines Zweier-Komplements1. Ist das 1. Bit 1, so handelt es sich um eine negative Zahl.

2. Der Wert einer negativen Zahl wird dann im Zweier-Komplement dargestellt. Zweier-Komplement zu einem Wert bedeutet, dass zunächst jedes einzelne Bit invertiert (umgedreht) wird, und dann auf die so entstandene Bitkombination die Zahl 1 aufaddiert wird.

Page 25: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 25/54

Rechenoperationen im DualsystemB-Komplement

• Bei der Verwendung der Komplement-Darstellung muss eine Maschine nicht subtrahieren können, sondern kann jede Subtraktion a - b durch eine Addition a + -b realisieren.

Page 26: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 26/54

Rechenoperationen im DualsystemB-Komplement

Im Beispiel hat der vorne stattfindende Überlauf des Bits keinen Einfluss auf die Richtigkeit des Ergebnisses. Das gilt nicht allgemein. Wenn das Ergebnis nicht im darstellbaren Zahlenbereich liegt, dann erhält man bei einem Überlauf ein falsches Ergebnis:

Page 27: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 27/54

Rechenoperationen im Dualsystem(B-1)-Komplement

(B-1)-Komplement (Einer-Komplement) zum Vergleich.

Die Zahlendarstellung ist hier symmetrisch. Es gibt eine positive und einenegative 0.

Page 28: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 28/54

Rechenoperationen im Dualsystem(B-1)-Komplement

• Regeln für die Bildung eines Einer-Komplements– Ist das 1. Bit mit 1 besetzt, so handelt es sich um eine negative Zahl

(eventuell die negative Null 111…111).– Der Wert einer negativen Zahl wird dann im Einer-Komplement

dargestellt. Einer-Komplement zu einem Wert bedeutet, dass zunächst jedes einzelne Bit invertiert (umgedreht) wird.

– Führt die Addition des Komplements zum Überlauf einer 1, muss zum Ergebnis diese 1 hinzuaddiert werden („Einer-Rücklauf “).

Page 29: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 29/54

Rechenoperationen im DualsystemMultiplikation und Division

• Die ganzzahlige Multiplikation bzw. Division wird in einem Rechner allgemein mittels wiederholter Addition durchgeführt.

• In den Sonderfällen des Multiplikators bzw. Divisors von 2, 4, 8, … kann die Multiplikation bzw. Division aber einfacher und schneller durch eine Verschiebung von entsprechend vielen Bits nach links bzw. rechts erfolgen: Bei 2 (21) um 1 Bit, bei 4 (22) um 2 Bits, bei 8 um 3 (23) Bits usw.

Page 30: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 30/54

Rechenoperationen im DualsystemKonvertieren durch sukzessive Multiplikation und Addition

• Für die Konvertierung aus einem beliebigen Positionssystem in ein anderes Positionssystem kann auch der folgende Algorithmus verwendet werden, wobei die Berechnung im Zielsystem mit der Basis B des Ausgangssystems durchgeführt wird:

Page 31: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 31/54

Reelle ZahlenFestpunktzahlen

Bei Festpunktzahlen steht der Punkt (das Komma) immer an einer bestimmten festgelegten Stelle, wobei der Punkt natürlich nicht eigens mitgespeichert wird:

zahl hat die Länge n + m, wobei n Stellen vor und m Stellen nach dem Punkt gesetzt sind.

Page 32: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 32/54

Reelle ZahlenFestpunktzahlen

Durch Einführen eines eigenen Vorzeichenbits können dann noch positive und negative Zahlen unterschieden werden. Die Nachteile der Festpunktdarstellung sind:

1. Man kann mit einer bestimmten Anzahl von Bits nur einen beschränkten Wertebereich abdecken.

2. Die Stelle des Punkts (Kommas) muss allgemein festgelegt werden. Und wo soll man diesen festlegen, wenn manchmal mit sehr kleinen, hochgenauen Werten und ein anderes Mal mit sehr großen Werten gearbeitet werden muss?

Aufgrund dieser Nachteile wird die Festpunktdarstellung nur in Rechnern verwendet, die für Spezialanwendungen benötigt werden. In den üblichen heute verbreiteten Rechnern wird stattdessen die Gleitpunktdarstellung verwendet.

Page 33: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 33/54

Reelle ZahlenIEEE-Format für float und double

Jede reelle Zahl kann in der Form 2.3756·103 angegeben werden. Bei dieser Darstellungsform setzt sich die Zahl aus zwei Bestandteilen zusammen:

– Mantisse (2.3756) und Exponent (3), der ganzzahlig ist.

Diese Form wird auch meist in Rechnern verwendet, außer dass dort nicht mit Basis 10, sondern mit Basis 2 gearbeitet wird. Die für die Darstellung einer Gleitpunktzahl verwendete Anzahl von Bytes legt fest, ob man mit einfacher (Datentyp float) oder mit doppelter Genauigkeit (Datentyp double) arbeitet.

Page 34: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 34/54

Reelle ZahlenIEEE-Format für float und double

Zur Darstellung verwenden die C/C++- und Java-Datentypen float und double das standardisierte IEEE-Format, wobei vier Bytes für float und acht Bytes für double definiert sind.

Page 35: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 35/54

Reelle ZahlenIEEE-Format für float und double

Das IEEE-Format geht von normalisierten Gleitpunktzahlen aus.

„Normalisierung“ bedeutet, dass der Exponent so verändert wird, dass der gedachte Dezimalpunkt immer rechts von der ersten Nicht-Null-Ziffer liegt (im Binärsystem ist dies immer eine 1).

Page 36: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 36/54

Reelle ZahlenIEEE-Format für float und double

In der Mantisse steht durch die normalisierte Form das höchstwertige „Einser-Bit“ immer links vom gedachten Dezimalpunkt (außer für 0.0). Beim IEEE-Format wird dieses Bit nicht gespeichert.

Der Exponent ist eine Ganzzahl, welche (nach Addition eines bias) ohne Vorzeichen dargestellt wird. Durch diese bias-Addition wird für den Exponent keine Vorzeichenrechnung benötigt. Der Wert von bias hängt vom Genauigkeitsgrad ab:- float (mit 4 Bytes, 8 Bits für Exponent): bias=127 - double (mit 8 Bytes, 11 Bits für Exponent): bias=1023

Das Vorzeichenbit zeigt das Vorzeichen der Mantisse, die immer als Betragswert, auch im negativen Fall nicht als Komplement, dargestellt wird.

Page 37: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 37/54

Reelle ZahlenIEEE-Format für float und double

Page 38: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 38/54

Reelle ZahlenIEEE-Format für float und double

Nach IEEE gilt für float (einfach) und double (doppelt):

Einige Sonderfälle des IEEE-Formats.

Page 39: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 39/54

Codes zur Darstellung von ZeichenASCII-Code

Der ASCII-Code (American Standard for Coded Information Interchange) ist eine festgelegte Abbildungsvorschrift (Norm) zur binären Kodierung von Zeichen.

– Der ASCII-Code umfasst Klein-/Großbuchstaben des lateinischen Alphabets, (arabische) Ziffern und viele Sonderzeichen.

– Die Kodierung erfolgt in einem Byte (8 Bits), so dass mit dem ASCII-Code 256 verschiedene Zeichen dargestellt werden können.

– Da das erste Bit nicht vom Standard-ASCII-Code genutzt wird, können im Standard-ASCII-Code nur 128 Zeichen dargestellt werden. Unterschiedliche, speziell normierte, ASCII-Code-Erweiterungen nutzen das erste Bit, um weitere 128 Zeichen darstellen zu können.

Page 40: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 40/54

Codes zur Darstellung von ZeichenASCII-Code (Beispiel und Ausschnitt)

Page 41: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 41/54

Codes zur Darstellung von ZeichenASCII-Code

Zur Speicherung von Texten werden einzelne Bytes, die jeweils immer ein Zeichen kodieren, einfach hintereinander abgespeichert, so dass man eine Zeichenkette (String) erhält.

Um das Ende der Zeichenkette zu identifizieren, werden (in den Programmiersprachen) unterschiedliche Verfahren verwendet.

– Die Länge der Zeichenkette wird im ersten bzw. in den ersten Bytes vor der eigentlichen Zeichenkette gespeichert. Dieses Verfahren benutzt z. B. die Programmiersprache PASCAL.

– Das Ende der Zeichenkette wird durch ein besonderes, nicht darzustellendes Zeichen gekennzeichnet. So verwendet z.B. die Programmiersprache C/C++ ein 0-Byte (Byte, in dem alle Bits 0 sind), um das Ende einer Zeichenkette zu kennzeichnen.

Page 42: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 42/54

Codes zur Darstellung von ZeichenASCII-Code

Unterscheidung zwischen Ziffern und Zeichen

Page 43: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 43/54

Codes zur Darstellung von ZeichenASCII-Code

Beispiele zum Speichern von Zeichen im ASCII-Code:

Page 44: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 44/54

Codes zur Darstellung von ZeichenUni-Code

Der ASCII-Code mit seinen 256 Zeichen ist doch sehr begrenzt. Mit dem Unicode wurde ein Code eingeführt, in dem die Zeichen oder Elemente praktisch aller bekannten Schriftkulturen und Zeichensysteme festgehalten werden können.

Die Zeichenwerte der von Unicode erfassten Zeichen wurden bis vor kurzem noch ausschließlich durch eine zwei Byte lange Zahl ausgedrückt. Auf diese Weise lassen sich bis zu 65 536 verschiedene Zeichen in dem System unterbringen (2 Byte = 16 Bit = 216 Kombinationsmöglichkeiten).

In der Version 3.1 wurden 94 140 Zeichen aufgenommen, wobei die Zwei-Byte-Grenze durchbrochen wurde. Das Zwei-Byte-Schema, im Unicode-System als Basic Multilingual Plane (BMP) bezeichnet, wird deshalb von einem Vier-Byte-Schema abgelöst.

Page 45: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 45/54

Weitere CodesBCD-Code

BCD-Werte (Binary Coded Decimals) sind eine weitere Art der binären Kodierung von Zahlen bzw. Ziffern.

Für jede Dezimalziffer werden mindestens vier, manchmal auch acht Bits verwendet. Die jeweiligen Ziffern werden nacheinander immer durch ihren Dualwert angegeben. Es ist eigentlich eine Speicherplatz verschwendende Art der Speicherung von Dezimalzahlen, erleichert aber manche Anwendungen.

Anwendungsbereiche:- Rechnen im Dezimalsystem,- Speichern von Dezimalzahlen (Telefonnummern u.ä.),- Ansteuerung von LCD-Anzeigen, um Dezimalziffern einzeln

anzuzeigen.

Page 46: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 46/54

Weitere CodesBCD-Code

- Beispiele:

- Die Bitmuster 1010, 1011, …, 1111 werden im BCD-Code nicht für Ziffern benötigt. Sie können genutzt werden z.B. für Vorzeichen +: 1010 und -: 1011

Page 47: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 47/54

Weitere CodesGray-Code

Beim Gray-Code zur Kodierung von Binärzahlen unterscheiden sich zwei aufeinanderfolgende Codewörter immer nur um genau ein Bit.

Page 48: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 48/54

Weitere CodesGray-Code

Verwendung findet der Code z.B. für die binäre Ausgabe von Werten von A/D-Wandlern (A/D = Analog/Digital) zur Vermeidung unsinniger Zwischenwerte beim Auslesen.

Da sich bei jedem Zahlenübergang immer jeweils nur ein Bit ändert, werden unsinnige Zwischenwerte bei Übergängen von z.B. (7) 0111 zu (8) 1000 vermieden (z.B. 1111(15)), wenn die Übergänge von 0→1 und 1→0 unterschiedlich schnell in der HW ablaufen.

Im Gray-Code können Werte gespeichert werden.Sollen Werte in Gray-Zahlen arithmetisch weiterverarbeitet werden, müssen diese dazu natürlich erst in Dualzahlen umgewandelt werden.

Page 49: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 49/54

Duale Größenangaben

Page 50: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 50/54

Grunddatentypen

In einem Computer werden Zeichen – wie z. B. Buchstaben – anders behandelt als ganze Zahlen und Gleitpunktzahlen wie z.B. die Zahl π = 3.1415…Daher ist eine Klassifikation dieser unterschiedlichen Daten notwendig. Die unterschiedlichen Datentypen unterscheiden sich einerseits im Speicherbedarf und damit der darstellbaren Größe von Zahlen bzw. des Zeichenvorrats, und andererseits in der Interpretation des gegebenen Bitmusters.

Ordnet man in einem Programm Daten bestimmten Klassen wie Zeichen, ganze Zahl, einfach/doppelt genaue Gleitpunktzahl usw. zu, dann teilt man dem Rechner deren Datentyp mit.

Page 51: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 51/54

GrunddatentypenC-Grunddatentypen

Page 52: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 52/54

Grunddatentypen und WertebereicheC-Datentypen auf 32-Bit-Architekturen

Page 53: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 53/54

GrunddatentypenVerlust von Bits bei zu großen Zahlen

Wird versucht, in einem Datentyp einen Wert abzulegen, der nicht in diesen Datentyp passt, so werden einfach die vorne überhängenden Dualziffern abgeschnitten.

Page 54: Folie 1/54© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Kapitel 3: Speicherung und Interpretation von Information Helmut Herold / Bruno Lurz

© Pearson Studium 2006; Grundlagen der Informatik, Kap.3 Folie 54/54

GrunddatentypenVerlust von Bits bei zu großen Zahlen

Vorsicht:In Programmiersprachen wie C/C++ und auch Java wird beim Abspeichern von Zahlen, die außerhalb des Wertebereichs eines Datentyps liegen, meist kein Fehler gemeldet, sondern es werden die überhängenden Bits abgeschnitten! Mit diesem falschen Wert wird weiter gearbeitet, was schließlich zu falschen Ergebnissen führt.