Aiutamici Forum
Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

come funziona winzip? Opzioni
lauramaggi
Inviato: Thursday, February 16, 2006 1:55:33 PM
Rank: Member

Iscritto dal : 2/16/2006
Posts: 0
Ciao a tutti. sono nuova del forum e avrei una curiosità:qualcuno sa dirmi come fanno i programmi di compressione come winzip a far diminuire la grandezza del file?
grazie
Sponsor
Inviato: Thursday, February 16, 2006 1:55:33 PM

 
andrucmarko
Inviato: Thursday, February 16, 2006 2:08:14 PM

Rank: Member

Iscritto dal : 2/15/2005
Posts: 10
peppe54
Inviato: Thursday, February 16, 2006 2:16:37 PM
Rank: Member

Iscritto dal : 10/30/2005
Posts: 0
Premetto che non è un argomento che si possa liquidare in due righe; per capire gli algoritmi che sono alla base dei cosiddetti “programmi di compressione”, bisogna avere delle basi molto solide di programmazione in Assembler e conoscere,in profondità, la struttura dei byte.
Se, quindi, mi concedi il beneficio dell’inventario, proverò a spiegare PER SOMMI CAPI il principio su cui si basano questi utilissimi software.
Dobbiamo fare un passo indietro ………..partiamo subito dal dire che il nostro pc è una macchina estremamente stupida !!!!! ebbene sì, il nostro pc capisce SOLO DUE SIMBOLI !!!!!
Il primo ( lo zero “0” ) simboleggia “ assenza di tensione ;
il secondo(uno“ 1 “ ) simboleggia, al contrario, presenza di tensione.
Ognuno di questi simboli viene chiamato bit ( binary-digit).
Un carattere, sia numerico che alfabetico che alfanumerico ( un carattere alfanumerico è, ad esempio, una virgola….un punto esclamativo….ecc….ecc….) è rappresentato da una sequenza di 8 bit ( veramente ne sarebbero 9………ma il nono non ha peso sul contenuto…).
Facciamo un esempio e poniamo che il simbolo alfabetico “ a “ sia così composto :

0 0 1 0 1 1 0 1

l’insieme di questi 8 bit viene definita “ byte”.

Dividiamo il byte dell’esempio in due metà :

0 0 1 0 la prima parte ci indica IL TIPO DI CARATTERE ( alfabetico,numerico o alfanumerico);

1 1 0 1 la seconda parte, invece, ci da l’indicazione del carattere ( in questo caso è una “ a” ).

I programmi di compressione, mettono in evidenza i primi quattro bit e dicono alla macchina :
“ guarda che TUTTI i dati che seguiranno, fino a nuovo avviso, saranno TUTTI dello stesso tipo ( saranno, cioè, o tutti numeri o tutte lettere e così via)”.
Si evince facilmente che in queste condizioni, un solo byte conterrà non più un solo carattere…..ma ne conterrà due !!!!!! Mi spiego meglio : abbiamo visto che i primi 4 bit servono a dire, alla macchina, di “cosa stiamo parlando”…………ma, se la macchina già lo sa, allora li potremo utilizzare per un altro carattere……alla fine, il primo byte conterrà l’indicazione del tipo di carattere…..mentre gli altri che lo seguiranno, conterranno DUE caratteri ciascuno.
Questo, ripeto, è un esempio molto semplificato di come sia possibile ridurre il peso di un file di testo; se, ad esempio, provi a comprimere un file .jpeg, scoprirai che non c’è stata riduzione di peso……..questo perché un file .jpeg è già un file compresso.
Mi rendo conto che la chiarezza è estranea a questa mia spiegazione (^.^) ma, per capire meglio l’argomento, bisognerebbe partire dalla struttura del singolo BIT.
Una curiosità: all’inizio ho detto che i BIT che compongono un byte sono, in realtà, 9 ……e che il nono BIT non ha peso sul dato….perché?
Il nono BIT, detto anche BIT di controllo, serve a verificare se, durante la trasmissione di un file ci sono stati errori; esso non è altro che un controllo ( di parità o disparità) sulla somma binaria degli altri 8 BIT.
Esempio:

00101110 >>>> il nono BIT sarà 0 perché l’ultima cifra della somma dei singoli byte è 0 ;
00100110 >>>> il nono BIT sarà 1 perché l’ultima cifra della somma dei singoli byte è 1.

Quindi, se sul byte 00101110 insisterà un nono BIT di tipo “1” vuol dire che esiste un errore.

Sigh……fammi sapere se sono stato chiaro……..
lauramaggi
Inviato: Friday, February 17, 2006 3:19:28 PM
Rank: Member

Iscritto dal : 2/16/2006
Posts: 0
Peppe54 grazie!!! sono una studentessa di informatica, avevo questo dubbio e non ero mai riuscita ad avere una risposta convincente!!
sm@k!!!
peppe54
Inviato: Friday, February 17, 2006 4:06:19 PM
Rank: Member

Iscritto dal : 10/30/2005
Posts: 0
Assolutamente felice di averti aiutata.
Augurissimi per i tuoi studi.
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.