Wintersemester 207/208. Informationsdarstellung Äquivalente Information in verschiedenen Darstellungen: Schrift: Die Katze sitzt am Fenster Bild Sprache Zeichensprache. Kapitel Prof. Matthias Werner Professur Betriebssysteme 22 WS 207/208 M. Werner Darstellung und Bedeutung Darstellung und Bedeutung Symbolische Darstellung (Syntax) Bedeutung (Semantik) Symbolische Darstellung (Syntax) Bedeutung (Semantik) 25??? Interpretation WS 207/208 M. Werner 23 Bei unbekannten Interpretationsregeln kann Bedeutung nicht erkannt werden Übersetzung (=Abbildung in andere Darstellung) könnte helfen WS 207/208 M. Werner 24
Alphabete Codes Betrachten zunächst die symbolische Darstellung Alphabet: endliche Menge von Zeichen Beispiele: Dezimalziffern: {0,,2,3,4,5,6,7,8,9} Buchstaben: {a,b,c,...,a,b,c,...} Jahreszeiten: {Frühling, Sommer, Herbst, Winter } Farben: {,,,,, } Was ist das kleinste Alphabet? Binärzahlen, {0;}, Bit = binary digit Code: Abbildung (Zuordnungsvorschrift) zwischen Alphabeten Vorschrift für die Interpretation Symbole aller denkbaren Alphabete lassen sich durch Gruppen von Binärzeichen ausdrücken Kleinbuchstaben: a 00000, b 0000, c 0000 a.-, b -..., c -.-., d -.. (Zeichen verschiedener Länge) Codierung mittels Binärzahlen Binärcodierung. Informationen im Rechner werden binär gespeichert zwei elektr./magnet. Zustände Betrachten die Codierung unterschiedlicher Datenarten mit binären Codes: Buchstaben, Zahlen, logische Aussagen WS 207/208 M. Werner 25 WS 207/208 M. Werner 26 2. Codes für Zeichen (Buchstaben) EBCDIC (Extended Binary Coded Decimal Interchange Code) Abstammung von Lochkarten Nicht alle Bitkombinationen besetzt ASCII (American Standard Code for Information Interchange) 7 Bit Code Englisches Alphabet mit Steuerzeichen ISO 8859 Erweiterung auf nationale Alphabete Unicode einheitlicher Code, der neben nationalen Alphabeten auch z.b. mathematische oder Pfeilzeichen einschließt ASCII und ISO 8859 American Standard Code for Information Interchange Die Werte über 27 werden im ISO 8859 genutzt, um nationale Sonderzeichen darzustellen, z.b. die deutschen Umlaute WS 207/208 M. Werner 27 WS 207/208 M. Werner 28
Achtung Unicode Problem: Verschiedene Sprachen mit verschiedenen Alphabeten Für einen Computer kann die Zahl 5 und das Zeichen 5 völlig unterschiedliche Dinge sein! Idee: Eindeutige Zuordnung für jedes Zeichen, unabhängig von der Plattform, dem Programm oder der Sprache Unicode: Über-Alphabet Daher können Sie im Computer völlig anders codiert werden Manche Programmiersprachen machen diesen Unterschied explizit z.b. C, Pascal, Python Organisation von Alphabeten in Blocks Verschiedene Substandards (UTF-8, UTF-6, UTF-32) Die Einzelzeichen sind 8, 6 bzw. 32 bit lang manche verdecken ihn Bei UTF-8 und UTF-6 werden Codes zu Sequenzen zusammengesetzt z.b. PHP Steuerzeichen z.b. für Schreibrichtungen und Ligaturen Aktuelle Version: 0.0 vom Juni 207 (Stand: September 207) WS 207/208 M. Werner 29 WS 207/208 M. Werner 30 Beispiele für Unicode (UTF-6) Georgisch (0A0..0FF) Pfeilsymbole (290...2FF) 3. Codes für Zahlen Zahlensysteme Wert einer Ziffer hängt von umgebenden Ziffern ab Römische Zahlen vs. Dezimalzahlen: XIX vs. 9 XLII vs. 42 Positionssysteme (auch das Dezimalsystem ist eines) ziemlich unpraktisch Wert einer Ziffer hängt nur von der Position ab v: Wert, i: Position (von rechts, Start mit 0), bi: Ziffer an Position i, ß: Basis Gängige Basen: 0 (Dezimalsystem), 2 (Dual- oder Binärsystem), 8 (Oktalsystem),6 (Hexadezimalsystem) WS 207/208 M. Werner 3 WS 207/208 M. Werner 32
Vorzeichenlose Dualzahlen Vorzeichenbehaftete Dualzahlen Fragen: Zuordnung zwischen n-stelliger Dualzahl und Wert? Welches ist der Wertebereich? Idee: Bit dient der Darstellung des Vorzeichens vorzeichenlose ganze Dualzahlen n Bits Stellenwertzahl zur Basis 2 Wertebereich: 0... (2 n ) - gebräuchlich: char ( n=8, 0.. 255 ) int, short ( n = 6, 0.. 65535 ) long, int ( n = 32 oder 64, 0.. 4294967295 / 84467440737095565 ) sign + value (Vorzeichen + Wert) +5 00...00-5 0...00 Wertebereich: -(2 (n-) -)... 2 (n-) - Problem: keine eindeutige Darstellung für 0 Rechenwerk für Addition schwierig. WS 207/208 M. Werner 33 WS 207/208 M. Werner 34 Einerkomplement positiver Wert wie bisher dargestellt negativer Wert entsteht durch Umkehren (Negieren) aller Bits +5 00...00-5...00 Wertebereich: -(2 (n-) -)... 2 (n-) - Eigenschaften: Nicht eindeutig Addition/Subtraktion problematisch bei Vorzeichenwechsel Zweierkomplement häufigste Darstellung; vermeidet Nachteile von -er Komplement/Vorzeichenzahl positive Zahlen: wie bisher negative Zahlen: -er Komplement bilden addieren +5 00...00-5...0 Beispiel zur Bildung (-5 in Byte): 5 0000 00 Komplement 00 + 0 nur eine Darstellung der Null (eindeutig) unsymmetrischer Wertebereich: -2 (n-)... 2 (n-) - WS 207/208 M. Werner 35 WS 207/208 M. Werner 36
Gebrochene Zahlen Normalisierung von Gleitkommazahlen bisher nur ganze Zahlen: Komma steht ganz rechts Idee: Darstellung einer gebrochenen Zahl durch zwei ganze Zahlen Festkommazahlen Problem: Wertebereich versus Genauigkeit u.u. werden Bits verschenkt Idee: Komma-Position verschiebbar Speichern Informationen über Position des Kommas Gleitkommazahl: z = (-) s m b e s - Vorzeichen (sign) m - Mantisse b - Basis (fest, z.b. 2, 0 oder 6) e - Exponent es genügt, s, m, e zur Darstellung einer Zahl zu speichern Problem: Gleitkommazahlen sind nicht eindeutig dezimales Beispiel: 23 0 0 = 2,3 0 =,23 0 2 = 0,23 0 3 = 0,023 0 4 Normalisierung: In der Mantisse steht die erste Ziffer, die keine Null ist, direkt links vom Komma dezimales Beispiel:,23 0 2 Bei Binärzahlen ist diese erste Stelle immer eine kann weggelassen werden Beispiel: Mantisse,00 wird als,00 dargestellt WS 207/208 M. Werner 37 WS 207/208 M. Werner 38 Gleitkommazahlen (IEEE 754) Einfache Genauigkeit: z = (-) s,m 2 e-27 Doppelte Genauigkeit: z = (-) s,m 2 e-023 Dezimaler Wertebereich: ca. 0-38...0 38 bzw. ca. 0-308...0 308 Kodierung von 0 in normierter Darstellung unmöglich besonderes Bitmuster reservieren: alle Bits = 0 Probleme: Rundungsfehler/Ungenauigkeiten beim Umgang mit ganzen Zahlen in Gleitkommarepräsentation 4. Aussagelogik Aussagelogik Teil der Logik, in dem Eigenschaften von Aussagen, die mittels Aussagenverknüpfungen aus anderen Aussagen entstehen, untersucht werden. Begriff der Aussage wird nicht inhaltlich untersucht Prädikat Jede Aussage hat einen Wahrheitswert Prinzip der Zweiwertigkeit: Jede Aussage hat entweder den Wert wahr oder den Wert falsch. Satz vom ausgeschlossenen Dritten (tertium non datur): Jede Aussage ist immer entweder wahr oder falsch Satz vom ausgeschlossenen Widerspruch: Keine Aussage ist zugleich wahr und falsch. WS 207/208 M. Werner 39 WS 207/208 M. Werner 40
Aussagelogik (Forts.) Prinzip der Extensionalität: Der Wahrheitswert einer Aussageverknüpfung hängt ausschließlich von den Wahrheitswerten ihrer Bestandteile ab. Zuordnung: wahre Aussagen W,, H falsche Aussagen F, 0, L Theoretisch sind auch mehrwertige Logiken möglich, jedoch seltener realisiert. Open-collector-Ausgang hochohmig Zustandsänderungen als eigener Zustand Unbestimmt -Zustand in Fehlerdiagnose Fuzzy-Logik Boolesche Algebra Georg Boole, 85-869 Sei B = {0;} Funktionen f: B n B m mit n,m heißen Boolesche Funktionen jedem n-tupel von Zahlen aus B wird eindeutig ein m-tupel von Zahlen aus B zugeordnet. Wenn m=: echte Boolesche Funktionen jedem n-tupel von Zahlen aus B wird eindeutig eine Zahl aus B zugeordnet. Diese Zahl heißt Wahrheitswert. Operatoren:,, WS 207/208 M. Werner 4 WS 207/208 M. Werner 42 Wichtige Verknüpfungsfunktionen Wichtige Verknüpfungsfunktionen (Forts.) Identität 0 Notation alternative Bezeichnungen Bezeichnung x=0 y=0 z=f(x,y) x= y=0 x=0 y= x= y= Notation alternative Bezeichnung Und 0 0 0 and, Konjunktion Negation 0 not, nicht, Komplement Einsfunktion Nullfunktion 0 0 Oder 0 or, Disjunktion Antivalenz 0 0 Exklusiv-Oder, xor Äquivalenz 0 0 Implikation 0 Nicht-Und 0 nand Nicht-Oder 0 0 0 nor WS 207/208 M. Werner 43 WS 207/208 M. Werner 44
Logisch vollständige Mengen Frage: Gibt es eine Menge Ω von Funktionen, mit denen alle anderen Funktionen dargestellt werden können? Ja, z.b.: Ω = {, } Ω = {, } Ω = {nand} Ω = {nor} Ω = {Einsfunktion,, } Diese Mengen Ω heißen logisch vollständig Man braucht also für einen Computer nur wenige Grundfunktionen, um alle Funktionen zu realisieren Nützliche Regeln DeMorgansche Regel: (x y) = x y (x y) = x y Assoziativgesetze (x y) z = x (y z) = x y z (x y) z = x (y z) = x y z (x y) z = x (y z) = x y z Kommutativgesetze x y = y x x y = y x x y = y x Distributivgesetze x (y z) = (x y) (x z) x (y z) = (x y) (x z) x (y z) = (x y) (x z) WS 207/208 M. Werner 45 WS 207/208 M. Werner 46 Nützliche Regeln (Forts.) Idempotenz x x = x x x = x Absorptionsregeln x x = x x = 0 x (x y) = x x (x y) = x x x = 0 x x = Substitution von Konstanten x 0 = x x = x 0 = 0 x = x x 0 = x x = x WS 207/208 M. Werner 47