faecher:informatik:oberstufe:codierung:lzw:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
faecher:informatik:oberstufe:codierung:lzw:start [03.10.2022 18:12] – [Beispiel] Frank Schiebelfaecher:informatik:oberstufe:codierung:lzw:start [03.10.2022 18:29] – [Decodierung] Frank Schiebel
Zeile 28: Zeile 28:
  
 ===== Beispiel ===== ===== Beispiel =====
 +
 +==== Codierung ====
 +
  
 {{ :faecher:informatik:oberstufe:codierung:lzw:ab.png|}} {{ :faecher:informatik:oberstufe:codierung:lzw:ab.png|}}
Zeile 39: Zeile 42:
 | **BAA**                            | BAA ←102<sub>16</sub>  | 102<sub>16</sub>  |                          | | **BAA**                            | BAA ←102<sub>16</sub>  | 102<sub>16</sub>  |                          |
  
-Die Zeichenfolge wird also folgendermaßen codiert: 042041100101102<sub>16</sub>. Das sind 7,5 Bytes ((wenn man mit ganzen Bytes arbeiten möchte, wird das mit Nullen zu 8 Byte aufgefüllt)). Die Kompression ist also bei solch kurzen Zeichenketten noch nicht drastisch - wenn man sich jedoch vorstellt, dass das Wörterbuch stets längere Zeichenketten mit einem 12Bit Code zugreifbar macht, kann die Kompression unter Umständen bei längeren Texten deutlich stärker ins GEwicht fallen.+Die Zeichenfolge wird also folgendermaßen codiert: **042041100101102<sub>16</sub>**. Das sind 7,5 Bytes ((wenn man mit ganzen Bytes arbeiten möchte, wird das mit Nullen zu 8 Byte aufgefüllt)). Die Kompression ist also bei solch kurzen Zeichenketten noch nicht drastisch - wenn man sich jedoch vorstellt, dass das Wörterbuch stets längere Zeichenketten mit einem einzigen 12Bit Code zugreifbar macht, kann die Kompression unter Umständen bei längeren Texten deutlich stärker ins Gewicht fallen. 
 + 
 +==== Decodierung ==== 
 + 
 +Bei der **Decodierung** werden 12-Bit-Blöcke eingelesen. Das Wörterbuch wird während des Vorgangs mit Einträgen befüllt die aus dem ersten Zeichen des aktuellen Eintrag und dem vorangehenden Eintrag bestehen. Wir nehmen den codierten String von oben: **042041100101102<sub>16</sub>**. 
 + 
 +^ Aktueller 12Bit-Block (Hexadezimal) ^ Gefundener Eintrag (erster Buchstabe) ^ Neuer Wörterbucheintrag ^ Ausgabe ^ 
 +| 042 | B (B) |  | B  |  
 +| 041 | A (A) | BA = 100<sub>16</sub> | A | 
 + 
 +100 
 +BA (B) 
 +AB = 10116 
 +BA 
 +101 
 +AB (A) 
 +BAA = 10216 
 +AB 
 +102 
 +BAA (B) 
 +ABB = 10316 
 +BAA 
 ===== Material ===== ===== Material =====
  
 {{simplefilelist>.:*}} {{simplefilelist>.:*}}
  
  • faecher/informatik/oberstufe/codierung/lzw/start.txt
  • Zuletzt geändert: 05.12.2023 14:52
  • von Frank Schiebel