Zahlen- und Zeichendarstellung Flashcards
Logische Gatter
Berechnen logischer Funktionen
= Schaltkreis, Draht mit 2 Zuständen
1 Eingang: NOT
2 Eingänge: AND (Reihenschaltung), OR (Parallelschaltung), XOR, NAND, NOR, XNOR
n EIngänge
Umrechnungsmethoden binär und dezimal
Stellenwertmethode
Modulo-Methode
Paritätsbit/Prüfbit
- zusätzlich zu 8 Bit
- 1 oder 0, so dass insgesamt Anzahl an 1 gerade ist
Bildung von gebrochenen Binärzahlen
- Ganzzahldivision
- Überlaufmethode

Hexadezimalsystem
- Basis 16
- 0 bis F
Beispiel:
11 1101 1001

Zweierkomplementzahlen
- kein Kommabereich, aber negative Zahlen
- Binärzahl mit fester Länge
- z.B. 4 Bit = 16 Zahlen = {-8,-7,…,6,7}
- Komplemet = Gegenteil
- NOTb + 1 = -b
Formel zur Berechnung des Dezimalwerts:
Overflow
- = Grenze -> nur bei 2K-Zahlen
- wenn 1. Stellen 0 waren und Ergebnis der Addition mit 1 beginnt und umgekehrt
- z.B. 4 Bit: +8 nicht darstellbar
Formatüberlauf
Das Ergebnis einer Berechnung kann nicht mehr in der beschränkten Wortlänge für die Zahlendarstellung dargestellt werden.
Binärzahlen: Zahlenbereichsüberlauf ist immer Formatüberlauf
2K-Zahlen: Zahlenbereichsüberlauf ist nicht immer Formatüberlauf
Zahlendarstellung in Java

Gleitpunktzahlen
normiert nach IEEE 754 : 1.… für Gleitpunktzahlen –> Hidden Bit
- Vorzeichenbit: 0 - positiv, 1 - negativ
- Exponent: Verschiebung um Bias
- 8 Bit -> 256 Zahlen -> -127 bis 128 (Bias 127)
- z.B. Exponent 2 = 2 + 127 = 129
- Mantisse: Nachkommazahl (Hidden Bit)

Gleitpunktzahlen
Sonderfälle für Exponent
E = -127 (0000 0000) — M = 0
Darstellung der Null (hat kein Hidden Bit)
E = -127 (0000 0000) — M != 0
Underflow - Exponent kann nicht weiter verkleinert werden, aber Mantisse enthält korrekten Wert
E = -128 (1111 1111) — M = 0
Darstellung von INF (∞) und Einsatz bei Overflow
E = -127 (1111 1111) — M != 0
NaN (Not a Number): ungültige Gleitkommazahl, wird verworfen
Genauigkeit bei Gleitpunktzahlen
(+ Darstellung in Java)
- Rundungsfehler, weil nicht alle reellen Zahlen exakt darstellbar sind - z.B. 0,1 -> Fehler summieren sich bei weiteren Rechnungen
- float: 32 Bit, kleinster Exponent -126, größter 127 (Sonderfälle!) - 3.12e+23f
- double: 64 Bit - 1e137
Datenverarbeitung vs Informationsverarbeitung
Computer verarbeitet Daten, keine Informationen
ASCII-Codierung und erweiterte ASCII-Codierung
- 8 Bit - Codierung
- ursprünglich: 8. Bit als Prüfbit - 128 Zeichen
- heute: 8 Bit - 256 Zeichen, jedes Zeichen mit 1 Byte codiert
- umfasst lateinisches Alphabet, arabische Ziffern, Satz- und Steuerzeichen, KEINE Sonderzeichen
erweitert
- 16 Erweiterungen, von ISO genormt
- erste 128 Zeichen aller Erweiterungen sind gleich
- z.B. ISO 8859-1 Latein-1 Westeuropäisch
Unicode
- 1991, Industriestandard
- Grundform: 2 Byte = 65 536 Zeichen
- Schriftzeichen aller wichtige Sprachen codiert (alle ISO 8859-X)
- erste 128 Zeichen = ASCII
- fast alle Programme (Java, XML) arbeiten mit Unicode
Version 2.0
- 216 usprünglich Unicode-Zeichen + 16 Planes dieser Größe
- 216 + 16*216 = > 1 Mio. Zeichen
- Unicode Private Use Area -> privat definierte Zeichen
ISO 10646
UCS - Universal Character Set
- international anerkannte Standardisierung des Unicode
- UCS-2: 2 Byte = Hauptbereich des Unicode
- UCS-4: 4 Byte = alle Planes –> über 2 Mrd. Zeichen codierbar
UTF-8
- statt für jedes Zeichen volle Wortlänge zu nutzen, werden wichtige Zeichen mit weniger und unwichtige mit mehr Bytes codiert
- jedem Unicode-Zeichen eine speziell codierte Bytekette variabler Länge zugeordnet
- bis zu 4 Byte -> alle Unicodezeichen lassen sich abbilden
- zentrale Zeichencodierung im Internet
Vorteile von UTF-8
- weniger Speicherplatz als UCS-2
- Zukunftssicherheit durch viele noch nicht belegte Codepositionen
- zusammengehörige Bytes werden auch mitten im Text erkannt
Längere vs. kürzere Codierungen
kurz:
- wenig Speicherplatz
- schnell nachschlagbar
- zu wenig Zeichen - mehrere Tabellen müssen genutzt werden
lang:
- universal anwendbar (viele Zeichen)
- viel Speicherplatz
UTF-8 Codierung
- im Speicher: immer aus 2 Byte
- gerades und ungerades Byte
- Führungsbyte: Beginn mit mehreren 1
- Folgebyte: Beginn mit 10
- 1-Byte-Codierung: Beginn mit 0
Wie schafft man sichere Datenübertragung?
Redundanz -> kann ohne Informationsverlust weggelassen werden
- Prüfsumme
- Prüfbit/Paritätsbit
- Hammingabstand
Hammingabstand
= Minimum aller Abstände zwischen Wörtern innerhalb des Codes
h >= n + 1 → bis n Übertragungsfehler können erkannt werden
h >= 2n + 1 → bis n Übertragungsfehler können korrigiert werden