Codifica gamma
sistema di codifica
La codifica gamma di Elias è una codificazione entropica per la rappresentazione dei numeri interi.
Codifica
modificaLa codifica di un numero naturale si effettua nel seguente modo:
- Sia tale che .
- Si pongono bit pari a 0;
- Si concatena la codifica binaria del numero .
Analogamente l'algoritmo può essere espresso come:
- Effettua la codifica unaria di N;
- Concatena il numero tale che , espresso usando esattamente bit.
Tale rappresentazione richiede bit.
Numero | Codifica BCD | Codifica γ |
---|---|---|
1 | 1 | 1 |
2 | 10 | 010 |
3 | 11 | 011 |
4 | 100 | 00100 |
5 | 101 | 00101 |
6 | 110 | 00110 |
7 | 111 | 00111 |
8 | 1000 | 0001000 |
9 | 1001 | 0001001 |
10 | 1010 | 0001010 |
Decodifica
modificaIl codice ottenuto è un codice prefisso. Ogni parola può essere decodificata nel seguente modo:
- Leggi 0 fintantoché non raggiungi 1. Salva il numero di 0 in una variabile N;
- Calcola , leggi i restanti N bit e somma il numero binario al valore calcolato.
Bibliografia
modifica- (EN) Peter Elias, Universal codeword sets and representations of the integers, in IEEE Transactions on Information Theory, vol. 21, n. 2, marzo 1975, pp. 194-203, DOI:10.1109/TIT.1975.1055349. URL consultato il 28 marzo 2015.