30.11.2012 Aufrufe

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

1-70 Aufgaben und <strong>Lösungen</strong><br />

Aufgabe 3.4.8 (P3)<br />

Schreiben Sie ein C-Programm zur Datenkompression nach dem LZW-Verfahren.<br />

Lösung<br />

//************************************************************************<br />

// Aufgabe 3.4.8<br />

// LZW-Kompression<br />

// Es wird eine Code-Tabelle <strong>mit</strong> 12 Bit verwendet<br />

// und <strong>mit</strong> den Bytes 0 .. 255 vorbesetzt<br />

//------------------------------------------------------------------------<br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#define ESC 27<br />

#define BYTE unsigned char<br />

#define MAXLINE 80<br />

#define MAXDATA 800000<br />

#define NTAB 4096 // 16*256 = Länge der Code-Tabelle<br />

// Makros<br />

#define GETH4(x) ((x)>>4) // liefert 4 High-Bits von x<br />

#define GETL4(x) ((x)&15) // liefert 4 Low-Bits von x<br />

#define SETL4(x,y) (((x)&240)|((y)&15)) // kopiert L4 von y in L4 von x<br />

#define SETH4(x,y) (((x)&15) |((y)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!