Post on 05-Apr-2015
BIT – Schaßan – WS 02/03
Basisinformationstechnologie
HK-Medien
Teil 1 – 2.SitzungWS 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)*2e
mit 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
Exponent e
Codierung Exponent e'
Mantissenwert m
Interpretation
-127 0000 0000 0 ±0
-127 0000 0000 ≠0 0,m * 2-126
-126...127 0000 00011111 1110 m 1,m * 2e
128 1111 1111 0 ±∞128 1111 1111 ≠0 NaN
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 DarstellungDie 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.
V (1 Bit)
E (8 Bit) Mantisse M (23 Bit) Zahlenwert
0 01111011
10011001100110011001100
0,0999999940...
0 01111011
10011001100110011001101
0,1000000015...
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 1100
b) 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/2
aber 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 comment
www.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 Zeichen110x xxxx 10xx xxxx = 2 Byte Code1110 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 CodeVon 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 EncodingVerfahren zur Kodierung von Binär-Dateien als ASCII-Text.Gegenstück: "uudecode"
BIT – Schaßan – WS 02/03
MIME
Multipurpose Internet Mail ExtensionsStandard-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.pdfZeichenkodierung: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 NOT
F T
T F
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.
AND F T
F F F
T F T
OR F T
F F T
T T T
XOR F T
F F T
T T F