350 likes | 440 Views
Basisinformationstechnologie HK-Medien. Teil 1 – 2.Sitzung WS 02/03. Ermitteln der GPZ. Darstellung der Zahl x als 32-Bit GPZ: Finde Zahlen m , e mit |x|=(1+m)*2 e mit 0 ≤ m < 1 Codiere Vorzeichen V (0 für positiv, 1 für negativ)
E N D
BasisinformationstechnologieHK-Medien Teil 1 – 2.Sitzung WS 02/03 BIT – Schaßan – WS 02/03
Ermitteln der GPZ • Darstellung der Zahl x als 32-Bit GPZ: • Finde Zahlen m, e mit |x|=(1+m)*2emit 0 ≤ m < 1 • Codiere Vorzeichen V (0 für positiv, 1 für negativ) • Codiere Mantisse m in 23 Bit vorderstes Bit mit Wertigkeit 2-1, letztes mit Wertigkeit 2-23 falls Zahl nicht exakt codierbar, finde die in der Zahl m nächstmögliche Codierung BIT – Schaßan – WS 02/03
Ermitteln der GPZ (2) • Codiere den Exponenten e in 8 Bit als natürliche Zahl e' mit Wert e' = e + 127 • Ordne die Bits in der ReihenfolgeVorzeichen Exponent Mantisse an. BIT – Schaßan – WS 02/03
Beispiel GPZ • Die Darstellung der Zahl –3,5: • Setze v=1 • |-3,5| = 3,5 = 1,75 * 2 = (1 + 0,75) * 21 • Setze m=0,75, e=1 • e = 1 e' = 1 + 127 = 128 = (1000 0000)2 • m = 0,75 = 0,5 + 0,25 = 2-1 + 2-2= (110 0000 0000 0000 0000 0000)2 • Das Ergebnis:(1 1000 0000 110 0000 0000 0000 0000 0000)2 BIT – Schaßan – WS 02/03
Beispiel GPZ (2) • Alternativer Weg: • Konvertierung des ganzzahligen Anteils:3 = (11)2 • Gebrochener Anteil: sukzessives Multiplizieren mit 2, wenn Ergebnis größer 1, dann 1 subtrahieren, solange wiederholen, bis Ergebnis = 0.0,5 * 2 = 1 1 subtrahieren • Festkomma-Darstellung: (11,1)2 BIT – Schaßan – WS 02/03
Beispiel GPZ (3) • Normalisieren: 1,11 * 21 • Mantisse m auffüllen mit Nullenm = (110 0000 0000 0000 0000 0000)2 BIT – Schaßan – WS 02/03
Sonderfälle der Darstellung NaN = not a number BIT – Schaßan – WS 02/03
Normierte Gleitpunktzahl • Es soll für jede darstellbare Zahl genau eine Darstellung als GPZ existieren. eindeutige Darstellung durch Normierung allgemeine Darstellung nach IEEE: (-1)V * (1 + m1*2-1 +...+mn*2-n) * 2E BIT – Schaßan – WS 02/03
Vorteile normierter GPZ • eindeutige Darstellung • Die Mantissenbits können optimal ausge-nutzt werden, was besonders bei unend-lich vielen Nachkommastellen eine höhere Rechengenauigkeit ermöglicht. • Rechenfehler (codiert als NaN) können genauer spezifiziert werden (Aufgabe des Betriebssystems oder Programms) BIT – Schaßan – WS 02/03
Probleme normierter GPZ • Problem: manche Zahlen sind als normierte GPZ nicht darzustellen • Beispiel: 0,1 • formal ist 0 nicht darstellbar, weshalb die kleinste darstellbare Zahl als 0 interpretiert wird. BIT – Schaßan – WS 02/03
Probleme normierter GPZ (2) • Rechnungen mit nicht darstellbarem Ergebnis liefern ein falsches (ungenaues) Ergebnis 224 + 1 = 224 • Die Zahlen des Zahlenstrahls sind ungleich verteilt, da • für kleinere Zahlen mehr Nachkommastellen zur Verfügung stehen • bei größeren Zahlen die Wertigkeit der letzten Bits der Mantisse zunimmt • Das Ergebnis einer Rechnung muss selbst wieder normiert werden. BIT – Schaßan – WS 02/03
Vergleich zweier GPZ • Welche GPZ ist größer? • a) 1 0111 1111 110 1100 1100 1100 1100 1100b) 0 1000 0000 110 1100 1100 1100 1100 1100 • B ist größer, denn das Vorzeichen ist positiv! • a) 0 1000 1001 110 1100 1100 1100 1100 1100b) 0 1000 1000 110 1100 1100 1100 1100 1100 • A ist größer, denn es hat den größeren Exponenten! • a) 0 1000 1001 110 1100 1100 1100 1100 1101b) 0 1000 1001 110 1100 1100 1100 1100 1100 • A ist größer, denn es hat die größere Mantisse! BIT – Schaßan – WS 02/03
Vergleich zweier GPZ (2) • Vergleiche können bit-weise durchgeführt werden: mit Ausnahme des Vorzeichen-Bits ist die Zahl die kleinere, die an der ersten verglichenen Bitposition eine 0 stehen hat.(Quelle: www.informatik.uni-stuttgart.de/ivpr/bv/lehre/SWT/etc/3.pdf) BIT – Schaßan – WS 02/03
Textkodierung: ASCII • Um Text zu kodieren, hat sich in zuerst der "American Standard Code for Information Interchange" durchgesetzt • ASCII-Zeichen sind mit 7 Bit kodiert. • Dies sind die Zeichen von 0000 0000 bis 0111 1111. • Die 128 verschiedenen Zeichen, die mit 7 Bit darstellbar sind, reichten aus, um das Alphabet, die Ziffern, Satz-, Sonder- und Steuerzeichen zu kodieren. BIT – Schaßan – WS 02/03
Textkodierung: ASCII (2) • ASCII 0 bis ASCII 31 und ASCII 127 sind Signal- und Steuerzeichen • In einfachen Texteditoren kann man diese Steuerzeichen mit Ctrl-/Strg-[A-Z] erzeugen.Ctrl H = ASCII 8 = BackspaceCtrl I = ASCII 9 = TabulatorCtrl M = ASCII 13 = Carriage Return BIT – Schaßan – WS 02/03
Textkodierung: ASCII (3) • Klein- und Großbuchstaben sind in alphabetischer Reihenfolge angeordnet, die Ziffern 0 bis 9 stehen in der natürlichen Reihenfolge 0 = ASCII 48 A = 65 a = 971 = ASCII 49 B = 66 b = 98 ... ... ...9 = ASCII 57 Z = 90 z = 122 BIT – Schaßan – WS 02/03
Textkodierung: ASCII (4) • Das achte Bit wird als Kontrollbit bei der Datenübertragung benutzt:je nachdem, ob die Anzahl der Einsen in dem darzustellenden Zeichen gerade (even) oder ungerade (odd), wurde das erste Bit auf 0 oder 1 gesetzt, um eine gerade Anzahl Einsen in dem Byte zu erhalten (even parity). BIT – Schaßan – WS 02/03
Extended-ASCII: ANSI • Aufgrund verbesserter Qualität der Daten-übertragung wurde das Kontrollbit über-flüssig, das achte Bit wurde frei für die Nutzung zur Kodierung von Zeichen. • Das American National Standard Institute (ANSI) legte den Zeichensatz fest, der 8 Bit kodierte Zeichen verwendet. • Internationaler Standard: ISO 6937/2aber auch: ANSI-Zeichensatz BIT – Schaßan – WS 02/03
ASCII-Erweiterungen • Der Bereich ASCII 0 bis 127 bleibt unverändert. • Der Bereich ASCII 128 bis ASCII 255 wird für sprachspezifische Zeichen benutzt.ä = ASCII 132ö = ASCII 148 "extended ASCII"ü = ASCII 129 BIT – Schaßan – WS 02/03
ASCII-Erweiterungen (2) • Die Zeichen der Erweiterung können mit Hilfe von Alt und der Eingabe der Ziffer auf der numerischen Tastatur erzeugt werden. • Erweiterungen, die 8 Bit verwenden, wurden durch die International Organization for Standardization (ISO) normiert: • ISO 8859-1 = Latin-1 Erweiterung für Westeuropa • ISO 8859-2 = Latin-2 Erweiterung für Osteuropa BIT – Schaßan – WS 02/03
Unicode • Unicode soll die Probleme um unterschiedliche Zeichensätze beheben: es verwendet eine 16 Bit Kodierung. • Mit 16 Bit können 65536 Zeichen und damit (fast) alle landesspezifischen Zeichen dargestellt werden. • Die Zeichen 32 bis 126 entsprechen der ASCII-Nummerierung, die nächsten 128 Zeichen der ISO-Latin 1 Kodierung. BIT – Schaßan – WS 02/03
UCS • Unicode ist als Universal Character Set (UCS) bzw. ISO-10646 normiert. • www.unicode.org • www.iso.ch • ISO hat allerdings neben der 16-Bit-Kodierung (UCS-2) auch die 31-Bit-Kodierung vorgesehen, was wiederum zu Kompatibilitätsproblemen führt BIT – Schaßan – WS 02/03
UTF-8 • Als kompaktere Kodierung wurde UTF-8 als Anhang R zur ISO-10646 bzw. als RFC2279 standardisiert. • UTF = UCS Transformation Format • RFC = request for commentwww.rfc-editor.org • UTF-8 ist eine Mehr-Byte-Kodierung: 7 Bit ASCII Zeichen werden mit einem Byte kodiert, alle anderen mit 2 bis 6 Byte BIT – Schaßan – WS 02/03
UTF-8 (2) • Jedes mit einer 0 beginnende Byte ist ein 7 Bit ASCII-Zeichen. • Jedes mit einer 1 beginnende Byte ist ein aus mehreren Bytes bestehender UTF-8 Code. • Besteht ein UTF-8 Code aus n≤ 2 Bytes, dann beginnt das erste Byte mit n Einsen, und jedes n-1 folgende Byte mit der Bitfolge 10. BIT – Schaßan – WS 02/03
UTF-8 (3) • 0xxx xxxx = 7 Bit ASCII Zeichen • 110x xxxx 10xx xxxx = 2 Byte Code • 1110 xxxx 10xx xxxx 10xx xxxx= ermöglicht die Kodierung aller 16 Bit UCS-2 Codesusw. • 1111 110x 10xx xxxx 10xx xxxx 10xx xxxx 10xx xxxx 10xx xxxx 10xx xxxx= ermöglicht die Kodierung aller 31 Bit UCS-4 Codes BIT – Schaßan – WS 02/03
Codepages • Zeichentabelle, die im Computer Text-Zeichen für eine bestimmte Sprache bereitstellt.Codepages werden auf Betriebssystem-Ebene gebraucht. • extended ASCII = Codepage 437 • ISO Latin-1 = Codepage 850 • ISO Latin-2 = Codepage 852 • griech. Zeichen = Codepage 1253 BIT – Schaßan – WS 02/03
EBCDIC • Extended Binary Coded Decimal Interchange Code • Von IBM entwickelt, vor allem für Großrechner (Mainframes) • EBCDIC und ASCII sind inkompatibel! BIT – Schaßan – WS 02/03
Probleme der Erweiterungen • Wenn Rechner Daten austauschen und nicht dieselben ASCII-Erweiterungen einsetzen, werden die Zeichen der Erweiterungen nicht korrekt dargestellt. • Im schlimmsten Fall geht das erste Bit jedes Bytes verloren. • Problematische Anwendungen sind Emails oder Programme. BIT – Schaßan – WS 02/03
Sonderzeichen in HTML • Für die Übertragung und Darstellung im Internet werden Sonderzeichen (auch: diakritische Z.) als sog. entities kodiert. • ä = ä Ä = Ä • ö = ö Ö = Ö • ß = ß • č = č BIT – Schaßan – WS 02/03
UUencode • Unix to Unix Encoding • Verfahren zur Kodierung von Binär-Dateien als ASCII-Text. • Gegenstück: "uudecode" BIT – Schaßan – WS 02/03
MIME • Multipurpose Internet Mail Extensions • Standard-Verfahren, das es erlaubt, beliebige Dateien zusammen mit einer E-Mail als deren Anhang (Attachment) zu übertragen. • Binäre Übertragung der Dateien, ohne Umwandlung in ASCII BIT – Schaßan – WS 02/03
Literatur • Gleitpunktzahlen:http://www.informatik.uni-stuttgart.de/ivpr/bv/ lehre/SWT/etc/3.pdf • Zeichenkodierung:http://unicode.e-workers.de/index.php BIT – Schaßan – WS 02/03
Logische Werte • Logische Werte sind die Wahrheitswerte Wahr (true, T) und Falsch (false, F) • Die Wahrheitswerte können zu booleschen Verknüpfungen verbunden werden: • NOT (Negation oder Komplement) • AND (Konjunktion) • OR (Disjunktion) • XOR (exklusives OR) BIT – Schaßan – WS 02/03
Verknüpfungstabellen • Durch Wertetabellen lassen sich die Wahrheitswerte feststellen: • NOT: ¬F = T BIT – Schaßan – WS 02/03
AND, OR, XOR F wird mit 0 und T mit 1 repräsentiert. Weil der Computer aber mit Byte als kleinster Einheit arbeitet, wirdF = 0000 0000 und T = 1111 1111. BIT – Schaßan – WS 02/03