From: DoderokBUG80 schreef:
Oja, nog een kleine toevoeging. Met jouw bewijs kun je ook aantonen dat je met WinZip nooit een bestand kunt verkleinen.
Immers, met 1024 bits kun je 2^1024 mogelijke bestanden maken, dat kun je dus nooit verkleinen naar 512 bits, bijvoorbeeld.
Snap je nu mijn probleem met jouw verhaal?
Er is een verschil tussen nooit een bestand kunnen verkleinen = geen enkel bestand kunnen verkleinen, en niet alle bestanden kunnen verkleinen.
Als je een bestand neemt van bvb 2000 bits, en winzip comprimeert dit tot een bestand van 1024 bits, dan zal winzip dat bestand van 1024 bits niet meer kunnen comprimeren.
Tekstbestanden bijvoorbeeld comprimeren goed omdat tekst veel redundantie bevat.
Nu lijkt het misschien dat je de toch winst maakt met winzip over het totaal van de 2^1024 mogelijke files, omdat je een deel kleiner kunt maken. MAAR: er zullen ook files groter worden!!
vb: ik heb een bitmap X gecromprimeerd met winzip, het resultaat is een file Y van 1.325.093 bytes.
Nu ga ik deze file nog eens comprimeren, resultaat:file Z van 1.325.300 bytes
Waarom is deze file groter geworden? Winzip kan hem niet verder comprimeren, maar hij kan hem ook niet onveranderd laten, want als ik hem dan zou unzippen zou ik de oorspronkelijke bitmap X terugkrijgen en niet file Y.
Nu is winzip niet geoptimaliseerd voor het verwerken van reeds gecomprimeerde files, men zou het algoritme kunnen aanpassen zodat files hoogstens 1 bit groter kunnen worden. Die ene bit zou dan aangeven of het bestand gecomprimeerd is, of het origineel bevat. Blijkt compressie het bestand groter te maken,dan voeg je enkel deze bit toe aan het bestand (je zet een 0 ervoor), in het andere geval zet je een 1 voor het resultaat. Merk op dat hierdoor alle gecomprimeerde bestanden een bit groter worden.
Uiteindelijk, als je alle mogelijke files van 1024 bits comprimeert, dus 1024 * 2^1024 bits aan data, dan zal je als resultaat opnieuw 1024 * 2^1024 bits aan data krijgen. De compressie van een deel van de bestanden wordt gecompenseerd door de extra bit die een ander deel van de bestanden krijgen. (in werkelikheid zal je meer data krijgen dan waar je mee begonnen zijn, omdat winzip oa een CRC waarde toevoegd)