LE CODAGE ET DECODAGE ARITHMETIQUE
1) CODAGE
La technique du codage arithmétique engendre en résultat, un nombre réel
compris entre 0 et 1.
- ALGORITHME
limite_basse = 0
limite_haute = 1
tant_que ( (N=saisicar) != EOF )
{ intervalle = limite_haute - limite_basse équation1
limite_haute = limite_basse + (intevalle*max(N)) équation2
limite_basse = limite_basse + (intevalle*min(N)) équation3
}
ecrire(limite_basse)
- EXEMPLE : Soit la chaîne "!TESTDATA!" à compresser. On commence
par établir le tableau des occurrences suivant (le tableau donnant la
probabilité d’apparition de chaque caractère).
lettre probabilité intervalle
(min..max)
T 3/10 0.0 0.3
E 1/10 0.3 0.4
S 1/10 0.4 0.5
D 1/10 0.5 0.6
A 2/10 0.6 0.8
! 2/10 0.8 1.0
Tableau1
En suivant l’algorithme décrit ci-dessus et en calculant à chaque fois les
nouvelles valeurs de "intervalle" (en utilisant équation1), "limite_basse"
(en utilisant équation3) et "limite_haute" (en utilisant équation2), nous
dressons le tableau des résultats suivant :
chaîne intervalle limite_basse limite_haute
0.0 1.0
! 1.0 0.8 1.0
T 0.2 0.8 0.86