Fakultät Informatik Institut Systemarchitektur Professur Datenschutz und Datensicherheit WS 204/205 3. Informationsdarstellung Dr.-Ing. Elke Franz Elke.Franz@tu-dresden.de 3 Informationsdarstellung Bitfolgen Bitfolgen Grundlage der Darstellung von Informationen im Computer: Binärsystem, Bits Bit: Unterscheidung von 2 Zuständen Unterscheidung von mehr Zuständen Bitfolgen Beispiel: Nord = 00, Ost = 0, Süd = 0, West = 4 verschiedene Möglichkeiten mit 2 Bits darstellbar Nord = 000, Nordost = 00, Ost = 00, Südost = 0, Süd = 00, Südwest = 0, West = 0, Nordwest = 8 verschiedene Möglichkeiten mit 3 Bits darstellbar Allgemein: 2 n verschiedene Bitfolgen der Länge n 2 3 Informationsdarstellung Bitfolgen Bytes und Worte Übliche Zusammenfassung von Bitfolgen: 8 Bits = Byte, darstellbar mit 2 Hex-Ziffern 00 00 2 = 93 6 Gruppen von 2, 4 oder 8 Byte: Byte = 8 Bit = Halbwort 2 Byte = 6 Bit = Wort 4 Byte = 32 Bit = Doppelwort 8 Byte = 64 Bit = Quadwort nicht eindeutig, abhängig vom Rechner! 3
3 Informationsdarstellung Bitfolgen Datei- und Speichergrößen Verwendung der aus dem Dezimalsystem bekannten Präfixe wie z.b. kilo- (für tausend), mega-( für million) Günstig bei binären Größen: Faktoren, die ebenfalls auf Zweierpotenzen beruhen Übliche Größenfaktoren: K (kilo) = 024 = 2 0 M (mega) = 024 x 024 = 2 20 G (giga) = 024 x 024 x 024 = 2 30 T (tera) = 024 x 024 x 024 x 024 = 2 40 P (peta) = 024 x 024 x 024 x 024 x 024 = 2 50 E (exa) = 024 x 024 x 024 x 024 x 024 x 024 = 2 60 4 3 Informationsdarstellung Kodierung Kodierung Abbildung der Elemente eines Alphabets auf die Elemente eines anderen Alphabets (bzw. auf Wörter über diesem Alphabet) e x 0.. 000..? 00.. Diskrete Quelle: endliche Menge von Werten Darstellung im Computer: binäres Alphabet mit {0,}, Wörter über diesem Alphabet: Binärfolgen 5 3 Informationsdarstellung Kodierung Diskretisierung Informationen liegen oftmals in kontinuierlicher Form vor Diskretisierung notwendig Zeitdiskretisierung Abtastung in äquidistanten Zeitabschnitten Abtastfrequenz Quantisierung Abbildung auf diskrete Werte Quantisierungsfehler 6 2
3 Informationsdarstellung Kodierung Ziele Geeignete Repräsentation unterschiedlicher Informationen: Texte, Zahlen, logische Werte, Bilder, Audiodaten, Ermöglichen entsprechender Operationen Kompakte Darstellung (Kompression) Redundanzarme (ggf. redundanzfreie) Kodierung Notwendige Anzahl von Bits zur Darstellung: Informationsgehalt der Quelle Verfahren zur Optimalkodierung (Beispiel: Huffman-Kodierung) 7 3 Informationsdarstellung Texte Texte Kodierung des Alphabets und der Satz- und Spezialzeichen (knapp 00 Zeichen notwendig) Steuerzeichen wie Zeilenende (CR = carriage return) oder Tabulator (Tab) Insgesamt genügen 7 Bit zur Darstellung: 2 7 = 28 verschiedene Zeichen darstellbar Verbreitete Kodierung: ASCII-Kode (American Standard Code for Information Interchange) Verwendung von 7 Bits für die Darstellung der verschiedenen Zeichen, 8. Bit wurde z.b. als Kontrollbit genutzt 8 3 Informationsdarstellung Texte (ASCII-Kode) 00 NUL 0 DLE 20 SP 30 0 40 @ 50 P 60 ` 70 p 0 SOH DC 2! 3 4 A 5 Q 6 a 7 q 02 STX 2 DC2 22 32 2 42 B 52 R 62 b 72 r 03 ETX 3 DC3 23 # 33 3 43 C 53 S 63 c 73 s 04 EOT 4 DC4 24 $ 34 4 44 D 54 T 64 d 74 t 05 ENQ 5 NAK 25 % 35 5 45 E 55 U 65 e 75 u 06 ACK 6 SYN 26 & 36 6 46 F 56 V 66 f 76 v 07 BEL 7 ETB 27 ' 37 7 47 G 57 W 67 g 77 w 08 BS 8 CAN 28 ( 38 8 48 H 58 X 68 h 78 x 09 TAB 9 EM 29 ) 39 9 49 I 59 Y 69 i 79 y 0A LF A SUB 2A * 3A : 4A J 5A Z 6A j 7A z 0B VT B ESC 2B + 3B ; 4B K 5B [ 6B k 7B { 0C FF C FS 2C, 3C < 4C L 5C \ 6C l 7C 0D CR D GS 2D - 3D = 4D M 5D ] 6D m 7D } 0E SO E RS 2E. 3E > 4E N 5E ^ 6E n 7E ~ 0F Informatik SI (für F Verkehrsingenieure) US 2F / 3F? 4F O 5F _ 6F o 7F DEL I 9 3
3 Informationsdarstellung Texte ASCII-Erweiterungen, Unicode, UCS Erweiterung: Nutzung des 8. Bits weiterer verfügbarer Bereich von ASCII 28 bis ASCII 255 Nicht ausreichend für Symbole der verschiedenen Sprachen International Organization for Standardization (ISO): Normung verschiedener Optionen für Erweiterungen, z.b. ISO Latin- (ISO 8859-) Unicode (www.unicode.org): neuer Standard, der versucht, alle relevanten Zeichen der unterschiedlichsten Kulturkreise zusammenzufassen 6 Bit 65536 Zeichen darstellbar Unicode-Zeichen 0-27 entsprechen ASCII-Code Unicode-Zeichen 28-255 entsprechen ISO Latin- Standardisierung (ISO): Universal Character Set (UCS) UCS-2 (6 Bit), UCS-4 (32 Bit) Probleme: Kompatibilität, Platzbedarf 0 3 Informationsdarstellung Texte UTF-8 (UCS Transformation Format) Eingeführt in den 90er Jahren Mehrbyte-Kodierung von Unicode bzw. UCS 7-Bit ASCII-Zeichen: Byte: 0xxx xxxx Andere Zeichen: Darstellung mit 2-6 Bytes: Für n Bytes im ersten Byte n -en, gefolgt von einer 0 Folgebytes beginnen mit 0 z.b. 2-Byte-Kode: 0x xxxx 0xx xxxx (UCS-2 Kode) Ø Kompaktere Darstellung häufig verwendete Zeichen mit wenig Bytes dargestellt Ø Kompatibel zu ASCII-Code 3 Informationsdarstellung Logische Werte Logische Werte Wahrheitswerte True (wahr) und False (falsch) Abkürzung mit T (bzw. ) und F (bzw. 0) Logische Verknüpfungen: NOT (Negation bzw. Komplement), AND (Konjunktion), OR (Disjunktion) und XOR (exklusives OR) NOT F T T F 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 2 4
3 Informationsdarstellung Logische Werte Logische Werte Darstellung mit einem Bit ausreichend, da meist Byte die kleinste Einheit ist, Byte pro Wahrheitswert: F = 0000 0000, T = Interpretationen von Bitketten als Folgen logischer Werte und bitweise Verknüpfung dieser Folgen 3 3 Informationsdarstellung Zahlen Natürliche Zahlen Bereich: 0,, 2, Bitfolge entspricht der Binärdarstellung, vorzeichenlose Darstellung Mit N Bits lassen sich 2 N verschiedene Zahlen darstellen: 0,,, 2 N- Beispiel: Zahlenbereich für N = 8 (8 Bits = Byte) 0 = 0000 0000 = 0 2 7 + 0 2 6 + 0 2 5 + 0 2 4 + 0 2 3 + 0 2 2 + 0 2 + 0 2 0 = 0000 000 = 0 2 7 + 0 2 6 + 0 2 5 + 0 2 4 + 0 2 3 + 0 2 2 + 0 2 + 2 0 2 = 0000 000 = 0 2 7 + 0 2 6 + 0 2 5 + 0 2 4 + 0 2 3 + 0 2 2 + 2 + 0 2 0 255 = = 2 7 + 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 + 2 0 4 3 Informationsdarstellung Zahlen Ganze Zahlen Bereich:, -2, -, 0,, 2, Nicht nur absoluter Wert, auch Vorzeichen darzustellen Vorzeichendarstellung:. Bit für Vorzeichen (0 = +, = - ) Beispiel: 3 Bit. Bit für Vorzeichen 2 Bit für absoluten Wert -3.. +3 darstellbar Nachteile: zwei Binärfolgen für Null Rechnen komplizierter 000 = +0 00 = -0 00 = + 0 = - 00 = +2 0 = -2 0 = +3 = -3 +2 = 00 + - = + 0 + 5 5
3 Informationsdarstellung Zahlen Zweierkomplementdarstellung Gebräuchlichste Methode zur Darstellung ganzer Zahlen Beispiel für N=4 Bit: 2 4 = 6 Zahlen darstellbar, Bereich frei wählbar, z.b. von -8 bis +7-9 -8-5 -7-6 -4-2 -3-0 3 2 4 5 6 7 8 9 0000 = +0 000 = +4 000 = -8 00 = -4 000 = + 00 = +5 00 = -7 0 = -3 000 = +2 00 = +6 00 = -6 0 = -2 00 = +3 0 = +7 0 = -5 = - 6 3 Informationsdarstellung Zahlen Reelle Zahlen Darstellung eines großen Zahlenbereichs notwendig Kompakte Darstellung möglich Beispiel: 0.000000000000000000002345 =.2345 0-2 Nicht eindeutig:.2345 0-2 = 2.345 0-22 = 23.45 0-23 Normiert:. Zahl ungleich Null direkt vor dem Komma +.2345 0-2 Komponenten: Vorzeichen, Exponent, Mantisse Vorzeichen des Exponenten umgehen durch Addition eines festen Wertes (bias) 7 3 Informationsdarstellung Zahlen Binäre Gleitpunktzahlen. 2 2 2 2 2 Normierte Darstellung:. Zahl vor Dezimalpunkt ungleich Null muss bei Binärdarstellung eine sein nur die restlichen Ziffern als Mantisse gespeichert (nicht gespeicherte : hidden bit ) Von IEEE (Institute of Electrical and Electronis Engineers) standardisierte Formate: Short real (oder single precision): 32 Bit Vorzeichen: Bit, Exponent: 8 Bit, Mantisse: 23 Bit, bias: 27 Long real (oder double precision): 64 Bit Vorzeichen: Bit, Exponent: Bit, Mantisse: 52 Bit, bias: 023 8 6
3 Informationsdarstellung Zahlen Umwandlung in binäre Gleitpunktzahlen Fortgesetzte Multiplikation mit 2 Ziffern vor dem Komma liefern Binärziffern nach dem Komma Beispiel: (0,6875) 0 () 2? 2 0,6875 =,375 b - = 2 0,375 = 0,75 b -2 = 0 2 0,75 =,5 b -3 = 2 0,5 =,0 b -4 = Ungenauigkeiten bereits bei Umrechnung möglich durch Rundungsfehler, weitere können bei Rechenoperationen auftreten Kein Test auf Gleichheit bei Gleitpunktzahlen! 9 Redundanzarme Darstellung: Quellenkodierung Notwendige Anzahl von Bits: Informationsgehalt der Quelle Diskrete Quelle X mit N verschiedenen Zeichen {x, x 2,, x N } Auswahl eines dieser Zeichen: Ereignis x i 0 p(x i ) Wahrscheinlichkeit des Ereignisses x i N px i i p(x i ) = p(x i ) = 0 Summe der Wahrscheinlichkeiten aller Ereignisse sicheres Ereignis unwahrscheinliches Ereignis 20 Informationsmaß: Entropie Information mit Gewinnung neuer Erkenntnisse verbunden Voraussetzung: Unbestimmtheit über die Quelle Information ist beseitigte Unbestimmtheit. Maß für Informationsgehalt soll dies widerspiegeln: Je größer die Wahrscheinlichkeit eines Ereignisses, desto kleiner ist die Unbestimmtheit. Ein sicheres Ereignis enthält keine Unbestimmtheit. Entropie eines Zeichens: Hi ld ld pxi p x i (ld x = log 2 x) 2 7
Quellenentropie Mittlere Entropie (mittlerer Informationsgehalt) einer Quelle N N H m p( xi )ld p( xi )ldp( xi ) i p( xi ) i Maximale Entropie / Entscheidungsgehalt Hmax H0 ld N Entscheidungsgehalt von zwei unabhängigen und gleichwahrscheinlichen Ereignisse einer Quelle: ld 2 Einheit der Informationsmenge 22 Quellenkodierung Eineindeutige Darstellung der Zeichen der Quelle in einer möglichst redundanzfreien bzw. redundanzarmen Form X A * Œ {0,} l X = {x, x 2,, x N }: Alphabet der diskreten Quelle A * : (Quellen-)Kode mit den Kodewörtern a * = {0,} l œ A * l: Kodewortlänge Gleichmäßiger Kode alle Kodewörter haben die Länge l ld N Darstellung der n verschiedenen Zeichen mit 2 n Bits 23 Ungleichmäßiger Kode Kodewörter mit ungleicher Kodewortlänge mittlere Kodewortlänge untere Schranke: l m H m Dekodierbarkeit erfordert Präfixfreiheit: kein Kodewort darf Beginn eines anderen Kodewortes sein N i lm p x i l i Koderedundanz R K Differenz zwischen Kodewortlänge und mittlerem Informationsgehalt der Quelle R K = l m H m 0 24 8
Kodebaum Grafische Darstellungsmöglichkeit für Kodes Gerichteter Graph, Kodewörter entsprechen Pfad vom Wurzelknoten zu den Endknoten (Blättern) Beispiel für einen Kode mit folgenden Kodewörtern: 00 0 0 0 0 0 0 00 0 0 0 0 25 Optimalkodierung Methoden zur Schaffung redundanzfreier bzw. redundanzarmer Kodes mit vertretbarem Aufwand Verfahren, die Kenntnis der Quellenstatistik voraussetzen Prinzip: Je häufiger ein Zeichen, desto kürzer die Länge des zugehörigen Kodewortes Shannon-Fano Huffman Verfahren ohne Kenntnis der Quellenstatistik Prinzip: Ausnutzen von Abhängigkeiten zwischen Quellenzeichen, um mehrere Zeichen auf ein Kodewort abzubilden Lempel-Ziv Lempel-Ziv-Welch 26 Huffman-Kodierung. Wahrscheinlichkeiten absteigend ordnen 2. Zusammenfassen der beiden letzten Wahrscheinlichkeiten (die geringsten) zu einem neuen Wert 3. Erneutes Ordnen nach absteigenden Wahrscheinlichkeiten 4. Wiederholen der Schritte 2 und 3, bis die Zusammenfassung nur noch einen Wert ergibt 5. Aufstellen eines Kodebaumes entsprechend der Reduktion und Zuordnen der Kodesymbole 0 und ; Auslesen der Kodewörter vom Wurzelknoten zu den Blättern (notwendig zur Erfüllung der Dekodierbarkeitsbedingung) Beispiel: (p(x i )) = (0,03 0,07 0,0 0,05 0,5 0,06 0,9); l m =? R K =? 27 9
x 5 x 7 x 3 x 2 x 6 x 4 x 0,5 0,9 0,0 0,07 0,06 0,05 0,03 0,5 0,9 0,0 0,08 0,07 0,06 0,5 0,9 0,3 0,0 0,08 0,5 0,9 0,8 0,3 0 x 5 =0 0 0 x 7 = 0,5 0,3 0,9 0 0 0,5 0,5 x 3 =000 0 x 2 =00 x 6 =0,0 x 4 =000 x =00 28 0