Präsentation herunterladen
Veröffentlicht von:Anton Schlotman Geändert vor über 11 Jahren
1
Binäre Repräsentation von Information
Bits und Bytes Binärzahlen ASCII Ganze Zahlen Rationale Zahlen Gleitkommazahlen
2
Prinzip 8 der von-Neumann Architektur:
Motivation Prinzip 8 der von-Neumann Architektur: (8) Alle Daten werden binär kodiert
3
Repräsentation von Information: Bits und Bitfolgen
kleinstmögliche Informationseinheit, die zwei Möglichkeiten zulässt ja oder nein, hell oder dunkel, gross oder klein Zur Darstellung reicht ein Code mit zwei Zeichen, meist 0 und 1 technisch realisiert durch elektrische Ladung (0 = ungeladen, 1 = geladen), oder elektrische Spannungen (0 = 0 Volt, 1 = 5 Volt) Bitfolgen Für Informationen mit mehr als zwei Möglichkeiten Bei drei oder vier Möglichkeiten benötigt man 2 Bits, für 5 bis 8 Möglichkeiten benötigt man 3 Bits usw. Beispiel: Himmelsrichtungen 00 = Süd, 01 = West, 10 = Nord, 11 = Ost Bitfolgen lassen sich als Zahlen im Dualsystem interpretieren Es gilt: Es gibt genau 2N Bitfolgen der Länge N
4
Binärziffern 20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 128 28 = 256 29 = 512 210 = 1024
5
Binärdarstellung positiver ganzer Zahlen
Will man nur positive Zahlen darstellen, so kann man mit N Bits 2N Zahlen, d.h. den Bereich der Zahlen von 0 bis 2N - 1 darstellen Beispiel: N = 3: 000 = 0 001 = 1 010 = 2 011 = 3 100 = 4 101 = 5 110 = 6 111 = 7 Beispiel: N = 4: 0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = 10 1011 = 11 1100 = 12 1101 = 13 1110 = 14 1111 = 15
6
Binärdarstellung positiver ganzer Zahlen
Will man nur positive Zahlen darstellen, so kann man mit N Bits 2N Zahlen, d.h. den Bereich der Zahlen von 0 bis 2N - 1 darstellen Die einzelnen Ziffern einer n-stelligen Zahl sind die Koeffizienten der Potenzen der Basis: Beispiel: Dezimalzahlen 4711 = 4 * * * * 100 4 * * * * 1 Beispiel: Binärzahlen 11012 = 1 * * * * 20 1 * * * * 1 = 1310 Darstellung: Die tiefgestellt Zahl gibt die Basis der Zahl an
7
Verfahren zur Umwandlung in Binärdarstellung
Bei fortgesetztem Dividieren durch 2 ergeben die Reste nacheinander die Ziffern der Darstellung der ursprünglichen Zahl z im Zweiersystem Beispiel: Die Umwandlung der Dezimalzahl 2001 ins Binärsystem ergibt z z div 2 z mod 2 15 7 1 7 3 1 3 1 1 1 0 1 Analoges gilt für die Umwandlung in andere Zahlensysteme, z.B. Umwandlung ins Oktalsystem: fortlaufendes Dividieren durch 8 Umwandlung ins Haxadezimalsystem: fortlaufendes Dividieren durch 16
8
Umwandlung in das Binärsystem: Hintergrund
Bei der Division einer natürlichen Zahl durch eine andere natürliche Zahl d, so erhalten wir einen Quotienten q und einen Rest r: z = q * d + r (wobei 0 < r < d) Sei div die ganzzahlige Division und mod die Berechnung des Rest der Division (Beispiel: 35 div 8 = 4 und 35 mod 8 = 3) Dann gilt z = (z div d) * d + (z mod d) Dies nutzen wir aus für die Umwandlung einer natürlichen Zahl z in die entsprechende Binärzahl bnbn-1...b1bo z = (bnbn-1...b1bo)2 = bn* 2n + bn-1 * 2n b1 * 21 + bo = (bn* 2n-1 + bn-1 * 2n b1 * 20 )* 2 + bo = (bnbn-1...b1)2* 2 + bo Somit ist die letzte Ziffer b0 genau der Rest, der beim Dividieren durch 2 entsteht (z mod 2) und die restlichen Ziffern bnbn-1...b1 muss sich als Binärdarstellung von z div 2 ergeben.
9
Oktal- und Hexadezimalsystem
Neben dem Dezimal- und Binärsystem sind in der Informatik in Gebrauch Oktalsystem - Zahlen zur Basis 8 Verwendung der Ziffern 0 bis 7 Die einzelnen Ziffern einer mehrstelligen Oktalzahl sind Koeffizienten der Potenzen zur Basis 8 Beispiel = 4 * * * * 80 = (2505)10 Hexadezimalsystem - Zahlen zur Basis 16 Verwendung der Ziffern 0 bis 9 und der Buchstaben A bis F (für 10 bis 15) Die einzelnen Ziffern einer mehrstelligen Hexadezimalzahl sind Koeffizienten der Potenzen zur Basis 16 Beispiel 2C7316 = 2 * * * * 160 = (11379)10
10
Umrechnung Binär- in Hexadezimal- und Oktalzahlen
Die Bedeutung von Oktal- und Hexadezimalsystem liegt darin, dass man zwischen Binärsystem und Oktal- bzw. Hexadezimalsystem einfach umrechnen kann Der einfachen Lesbarkeit wegen gruppiert man grosse Bitfolgen in 4er-Gruppen und erhält die Hexadezimaldarstellung Jeder Gruppe gibt man einen Namen unter Verwendung der Ziffern 1 bis 9 und der Buchstaben A bis F: 0000 = = = = C 0001 = = = = D 0010 = = = A 1110 = E 0011 = = = B 1111 = F Die Bitfolge lässt sich dann kompakter schreiben als F C 6 C 16 Analog kann man Dreiergruppen von Binärziffern zusammenfassen und erhält daraus eine Oktalzahl
11
Übungsaufgaben Wandeln Sie folgende Binärzahlen in Dezimalzahlen um
101 = 5 1101 = 13 = 254 = 219 = 195 Wandeln Sie folgende Dezimalzahlen in Binärzahlen, Oktalzahlen (Basis 8) und Hexadezimalzahlen (Basis 16) um 101 = = 145 = 65 255 = = 377 = FF 167 = = 247 = A7 4582 = = = 11E6 256 = = 400 = 100
12
Zeichendarstellung: ASCII
Binärzahlen werden zur Informationsspeicherung verwendet. Information, die man mit der Tastatur eintippt wird als Text (Zeichenfolge) interpretiert. Jedes Zeichen wird als Bitfolge codiert Die ASCII-Codierung benutzt 7 Bits eines Byte (27 = 128 Möglichkeiten) zur Darstellung eines Zeichens Prinzipien: die Kleinbuchstaben sind in der alphabetischen Reihenfolgen durchnumeriert (ASCII 97 = „a“, ... ASCII 122 = „z“) die Grossbuchstaben sind in der alphabetischen Reihenfolgen durchnumeriert (ASCII 65 = „A“, ... ASCII 90 = „Z“) die Ziffern 0 bis 9 stehen in der natürlich Reihenfolge (ASCII 48 = „0“, ... ASCII 57 = „9“) Die Zeichen ASCII 0 bis ASCII 31 sowie ASCII 127 dienen Steuerungszwecken. Eingabe über Tastatur durch Drücken der Steuerungstaste („Strg“ bzw „Ctrl“) ASCII 1 = Ctrl-A, ..., ASCII 26 = Ctrl-Z ASCII (American Standard Code for Information Exchange)
13
ASCII-Tabelle
14
Informationsdarstellung: Text - ASCII
Fortlaufenden Text kodiert man einfach durch aneinanderreihen der Codes einzelner Zeichen incl. des Codes für Lehrzeichen (Zeichenkette = string) Beispiel: „Knut liest“ wird kodiert als ASCII-Code Bitfolge Hexcode 4B 6E C Bemerkung: Wenn Sie jemand auffordert, ihm ein Dokument in ASCII zu schicken, so meint er in der Regel: Schicken Sie mir den reinen Text ohne Formatanweisungen.
15
ASCII-Erweiterungen Das achte Bit eines Byte wurde bei ASCII früher als Kontrollbit für die Datenübertragung genutzt: Es wurde auf 0 oder 1 gesetzt, damit die Anzahl der 1en immer gerade war (even parity). Trat bei der Datenübertragung ein kleiner Fehler auf (1 Bit gedreht), wurde dies erkannt Wegen verbesserter Qualität der Datenübertragung wurde das Kontrollbit überflüssig. Man konnte es für die Kodierung verwenden, so dass nun 28 = 256 Zeichen zur Verfügung stehen Die International Standardization Organization (ISO) hat verschiedene ASCII- Erweiterungen normiert. In Europa ist die ASCII-Erweiterung Latin-1 nützlich, die z.B. sprachspezifische Zeichen enthält, wie z.B. Umlaute („ä“, „ö“, „ü“, „Ä“, „Ö“, „Ü“) Probleme: Einige Rechner (z.B. unter UNIX-Betriebssystem) verwenden nur die genormten ASCII-Zeichen 0 bis 127 (Umlaute nicht so einfach darstellbar); andere haben eigene Erweiterungen. Beim Austausch von Daten, s usw. müssen Sender und Empfänger die gleiche ASCII-Erweiterung verwenden (Lösung: Umcodierung einer Datei in ASCII mittels der Programme uuencode und Dekodierung mittels uudecode)
16
Unicode Wegen der Problematik der ASCII-Erweiterungen entstand in den letzten Jahren ein neuer Standard: Unicode Ziel: sämtliche relevanten Zeichen aus den unterschiedlichen Kulturkreisen in universellem Code zusammenfassen Unicode verwendet 16-Bit-Codierung (maximal 216 = Zeichen) Die ersten 128 Zeichen sind identisch mit ASCII die nächsten 128 Zeichen sind identisch mit ISO-Latin 1 Programmiersprachen lassen meist keine Zeichen aus ASCII- Erweiterungen zu (Ausnahme: Java)
17
Bearbeitung binär codierter Information
ASCII, Unicode für Beschreibung von Daten nicht für Berechnung geeignet Datentypen in Programmiersprachen werden speziell repräsentiert, damit man mit ihnen rechnen kann Ganze Zahlen (Integer): Zweierkomplement Gebrochene Zahlen Gleitkommazahlen Boolesche Werte
18
Arithmetische Operationen auf Binärzahlen: Addition
Zwei aus mehreren Ziffern bestehende Binärzahlen werden addiert, wie man es von Dezimalzahlen gewohnt ist Ein an einer Ziffernposition entstehender Übertrag wird zur hächsthöheren Ziffernposition addiert Ein Übertrag entsteht, wenn bei der Addition zweier Ziffern der Wert grösser oder gleich dem Basiswert ist Bei Binärzahlen entsteht ein Übertrag schon bei 1+1 Beispiel Binär Oktal Hexadezimal Dezimal C A A F = D 7 5 D Problem: Wenn durch Übertrag die reservierten Stellen für die Zahl nicht ausreichen, kann es zu Fehlern kommen!
19
Darstellung ganzer Zahlen
Als ganze Zahlen bereichnet man die Vereinigung der natürlichen Zahlen und der negativen Zahlen Für positive ganze Zahlen, kann man die Binärdarstellung verwenden Kommen negative Zahlen hinzu, müssen wir ein Bit für das Vorzeichen verwenden Erste Überlegung: Vorzeichendarstellung Nehme gewöhnliche Binärzahlen und füge ein Bit für Vorzeichen hinzu Beispiel: Bei 4 Ziffern kann man den Bereich von -7 bis +7 darstellen Diese Darstellung hat eine Reihe von Nachteilen Die Null wird durch zwei Bitfolgen für +0 und -0 dargestellt: 0000 und 1000 Addition muss berücksichtigen, welches Bit das Vorzeichen darstellt Alternative: Zweierkomplementdarstellung
20
Die Zweierkomplementdarstellung für ganze Zahlen
Zahlenbereich bei N Bits: -2N-1 bis +2N-1-1 Bei der Zweikomplementdarstellung wird das erste Bit negiert betrachtet wird. Die restlichen Bits behalten ihre Bedeutung. Die Ziffernfolge bnbn-1...b1b0 bezeichnet also folgende Zahl z = -bn * 2n + bn-1 * 2n b1 * 21 + b0 Wir betrachten dies am Beispiel mit 4 Bits (Darstellung 16 ganzer Zahlen) 1000 = = = = 4 1001 = = = = 5 1010 = = = = 6 1011 = = = = 7 Prinzip: Seien N Bits für die Zahlendarstellung zur Verfügung Zähle von 0 aufwärts bis obere Grenze (2N-1-1) anschliessend wird an der unteren Grenze (-2N-1) fortgesetzt bis -1
21
Zweierkomplementdarstellung
22
Zahlenbereiche für ganze Zahlen in Programmiersprachen
Je nach dem, wieviel Bit für die Zahlendarstellung zur Verfügung gestellt wird, können in den einzelnen Programmiersprachen unterschiedliche Zahlenbereiche genutzt werden Bereich Bits Datentypen in Delphi Java Bit Shortint byte Bit Integer short Bit Longint int Bit long Bit Byte Bit Word
23
Gebrochene (rationale) Zahlen
Zwischen je zwei Zahlen gibt es unendlich viele rationale Zahlen Eine feste Anzahl von N Bits reicht also nicht aus, um alle rationalen Zahlen eines Intervalls exakt darzustellen Rationale Zahlen werden als Kommazahlen mit einer festen Anzahl n von Stellen vor dem Komma und m Stellen nach dem Komma repräsentiert Die Ziffernfolge bn bn b1 b0 , c1 c2 ... cm wobei bi,ci, in {0,1} steht dabei für den Zahlenwert z = bn * 2n b1 * 21 + b0 * 20 + c1 * c2 * cm * 2-m Beispiele: gebrochene Binärzahl gebrochene Dezimalzahl
24
Gleitpunktdarstellung für Reelle Zahlen
Gesucht ist eine Darstellung, die bei festem Bitformat ein möglichst grosses Intervall der reellen Zahlen umfasst und deren Genauigkeit bei kleinen Zahlen sehr hoch ist, bei grossen Zahlen niedriger Eine Gleitpunktzahl besteht aus drei Teilen: dem Vorzeichenbit V dem Exponenten E der Mantisse M Eine normierte Gleitpunktzahl mit Vorzeichen V, Mantisse m1...mn und Exponent E stellt folgenden Zahlenwert dar: (-1)V * (1 + m1 * mn * 2n) * 2E Da die Null formal nicht darstellbar ist, wird die kleinste darstellbare Zahl also Null interpretiert. Die IEEE (Institute for Electrical and Electronics Engineers) hat zwei Normen verabschiedet Short Real: Vorzeichen: 1 Bit, Exponent: 8 Bit, Mantisse: 23 Bit Long Real: Vorzeichen: 1 Bit, Exponent: 11 Bit, Mantisse: 52 Bit
25
Zahlenbereiche für reelle Zahlen in Programmiersprachen
Je nach dem, wieviel Bytes für die Zahlendarstellung zur Verfügung gestellt werden, können in den einzelnen Programmiersprachen unterschiedliche Zahlenbereiche genutzt werden Bytes Datentypen in Delphi Java 6 Real 4 Single float 8 Double double 10 Extended
26
Repräsentation von Information: Bytes
Ein Rechner arbeitet immer mit Gruppen von Bits, entweder 8 Bits, 16 Bits, 32 Bits oder 64 Bits Eine Gruppe von 8 Bits nennt man Byte Eine Datei ist eine beliebig lange Folge von Bytes. Unter der Grösse einer Datei versteht man die Anzahl der darin enthaltenen Bytes Für grosse Dateien verwendet man die bekannten Präfixe kilo (für tausend), mega (für million) usw. allerdings für Zweierpotenzen k = 1024 = 210 (k = Kilo) M = 1024 * 1024 = 220 (M = Mega) G = 1024 * 1024 * 1024 = 230 (G = Giga) T = 1024 * 1024 * 1024 * 1024 = 240 (T = Tera) P = 1024 * 1024 * 1024 * 1024 * 1024 = 250 (P = Peta) E = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 = 260 (E = Exa)
27
Codierung logischer Werte
Da es nur zwei Wahrheitswerte gibt, könnte man diese durch 1 Bit darstellen Da aber ein Byte die kleinste adressierbare Einheit ist, spendiert man ein ganzes Byte für einen Wahrheitswert Gängige Codierung: F = und T =
28
Daten - Information Information hat eine Bedeutung und einen Zweck (z.B. Austausch von Nachrichten) Heute ist es 15° kalt Der Umsatz im Jahr 1999 betrug Fr. und im Jahr 2000 betrug er Fr. Information wird im Rechner durch Daten (Folgen von Bits) repräsentiert. Zu den elementaren Fähigkeiten eines Rechners gehören das Lesen von Daten das Speichern von Daten (intern im Hauptspeicher oder auf externem Medium) die Verknüpfung von Daten durch arithmetische oder logische Operationen Die Tätigkeit des Rechners wird ebenfalls durch Daten (das Programm) gesteuert Um Informationen zu verarbeiten, muss man die informationsverarbeitenden Operationen durch Operationen auf den entsprechenden Daten nachbilden Beispiel: Berechnung der Umsatzsteigerung zwischen 1999 und 2000
29
Informationsverarbeitung - Datenverarbeitung
Repräsentation Abstraktion Daten Datenverarbeitung
30
Repräsentation von Information
Um die geeignete Repräsentation hängt ab von der Information selbst der gewünschten Verarbeitung Um Informationen zu Vermitteln genügt die Repräsentation als Text (z.B. Versenden als oder Schreiben eines Briefes) Um Information zu berechnen benötigt man entsprechende Datenstrukturen Beispiel: Umsatzentwicklung: Repräsentation als Gleitkommazahl
31
Abstraktion bzw. Interpretation von Information
Information hat eine Bedeutung und einen Zweck, Daten dagegen haben keine Bedeutung Um aus den Daten deren Bedeutung zur erkennen muss man sie interpretieren Die Interpretation von Daten nennt man auch Abstraktion Beispiel: Etwas lesbarer als Hexadezimalzahl C 6C E 64 2E Interpretationsmöglichkeiten Als Folge 1-Byte-Zahlen: Als Folge von 2-Byte-Zahlen: Als Folge von 8-stelligen Zweierkomplementzahlen: Als ASCII: Der Ball ist rund.
32
Übungsaufgaben Wandeln Sie folgende Binärzahlen in Dezimalzahlen um
101 = 5 1101 = 13 = 254 = 219 = 195 Wandeln Sie folgende Dezimalzahlen in Binärzahlen, Oktalzahlen (Basis 8) und Hexadezimalzahlen (Basis 16) um 101 = = 145 = 65 255 = = 377 = FF 167 = = 247 = A7 4582 = = = 11E6 256 = = 400 = 100
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.