vineri, 18 decembrie 2009

IT - arhiva arhivei rearhivate

vineri, 18 decembrie 2009
Când arhivezi un fişier ...arhiva este mai mică decât fişierul propriu-zis. Respectand acest fapt...teoretic...dacă pun arhiva într-un director nou şi o rearhivez ...şi tot repet acest procedeu...ar trebui ca după fiecare operaţie arhiva-arhivei-arhivei-...-arhivei să fie tot mai mică. Pus în practică acest experiment...nu se întâmplă deloc aşa.
După prima arhivare...arhiva arhivei rearhivate îşi păstrează mărimea....v-am pierdut în text?

Întrebarea mea ar fi....care e explicaţia?...poate e careva prin zonă care mă poate lumina şi pe mine.

2 comentarii:

ideirazlete spunea...

Incerc sa explic cat mai ne-tehnic
Calculatorul lucreaza doar cu 2 valori: 0/1, respectiv off/on. Asta inseamna ca orice caracter, litera, simbol are un corespondent in binar.
Noi lucram in viata doar cu sistemul decimal, baza 10, calculatorul cu baza 2.
Uff, ce omplicat e sa transmit un mesaj simplu... Mai bine sa zic concret.
Caracterele de baza sunt 256, asta inseamna 2 la puterea 8. Deci, ca sa exprim o litera, in sistem binar am nevoie de 8 pozitii. De exemplu litera Z e reprezentata prin valoarea 01011010.
Arhivarea are la baza un principiu destul de simplu: porneste de la premisa ca anumite caractere au o frecventa mai mare decat altele, si atunci ar trebui sa aiba lungime mai mica, pentru a fi citite mai repede. Luam ca exemplu un text care contine de 1000 de ori litera Z, de 500 ori litera B si de 10 ori litera A. Algoritmul de arhivare va face in asa fel incat litera Z=0, litera B=1, litera A=10, deci de lungime mai mare. Marimea fisierului inainte de arhivare e 1000*8+500*8+10*8=12080. Dupa arhivare va fi 1000*1+500*1+10*2=1520.

La urmatoarea arhivare insa nu se prea poate face mai nimic, fisierul are deja dimensiunea minima.

Carmen spunea...

de faptul ca un calc lucreaza in baza 2 stiam...staina imi era metoda de calcul de la sf...acum sunt lamurita :)