Große Computer-Programme und Dateien enthalten oft zu viele Daten einfach übertragen oder speichern . Um dieses Problem zu lösen, haben Programmierer mit ausgeklügelten Algorithmen oder Systeme zur Komprimierung und Dekomprimierung von Dateien kommen . Sie werden verwendet , um die Größe von Bild -, Video- , Software und andere Dateien zu verringern , so dass sie leichter nutzbar sein wird . Compression
Kompressions-Algorithmus speziell braucht ein Wörterbuch des Codes und eine Ausgabe -Puffer, der 50 Prozent größer als die Daten ist . Die Daten werden abgeglichen und dann auf seinen vereinfachter Form geschrumpft. Zum Beispiel, wenn Sie eine 32-Byte- Stück Code, der eine 16-Byte entsprechen können , dann sind Sie in der Lage, den Speicher um die Hälfte zu reduzieren. A Kompression Datei Tests , um Ihre gesamte Code-Basis zu vereinfachen. Dekompression
Dekompression ist ein bisschen einfacher als Komprimierung, da sie nicht verlangen, einen bestimmten Speicherbereich. Wenn Sie entpacken Sie einfach festzustellen, ob die Daten eine Übereinstimmung oder Literal ist . Wenn es eine Übereinstimmung gibt , dann Dekompression ist unnötig, und die Daten werden aus dem letzten Puffer kopiert . Wenn es ein Literal ist , dann codieren die Differenz in den Ausgabepuffer . Compression -Code
Ein Algorithmus , um Daten zu komprimieren Zeiger verwendet , um den Speicher zu identifizieren Lage , mit den Daten übereinstimmen und subtrahiert dann die zusätzlichen Code , wenn es komprimiert wird. So ist das " if - else " algorithmische Funktion kann wie folgt aussehen:
if ( valid_pointer (match ) && * Spiel == * Eingabe && * ( Spiel + 1 ) == * (Eingang + 1 ) ) {if ( wörtliche Dekomprimierungscode
Dekomprimierungscode andererseits lediglich kopiert alphabetischen Code , so dass es in einem Ausgangspuffer zu gegebener Zeit reproduziert werden. Es subtrahiert dann den zusätzlichen Speicher aus dem Programm. Die "if -while "-Funktion könnte wie folgt aussehen: