La codifica gamma di Elias è una codificazione entropica per la rappresentazione dei numeri interi.
Codifica
La 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
Il 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