Codage gamma d\'Elias
Le code gamma d'Elias de est un code universel codant des nombres entiers positifs. Il est employé le plus généralement en codant les nombres entiers dont supérieur-bondissent ne peuvent pas être déterminés à l'avance.
Pour coder un nombre : L'écrire dans le binaire.
Une manière équivalente d'exprimer le même processus : Séparer le nombre entier dans la puissance la plus élevée de 2 qu'elle contient (2 N ) et les éléments binaires restants du N du nombre entier.
Le code commence : 1 = 20 + 0 = 1 2 = 21 + 0 = 01 0 3 = 21 + 1 = 01 1 4 = 22 + 0 = 001 00 5 = 22 + 1 = 001 01 6 = 22 + 2 = 001 10 7 = 22 + 3 = 001 11 8 = 23 + 0 = 0001 000 9 = 23 + 1 = 0001 001 10 = 23 + 2 = 0001 010 11 = 23 + 3 = 0001 011 12 = 23 + 4 = 0001 100 13 = 23 + 5 = 0001 101 14 = 23 + 6 = 0001 110 15 = 23 + 7 = 0001 111 16 = 24 + 0 = 00001 0000 17 = 24 + 1 = 00001 0001
Pour décoder un nombre entier gamma-codé par Elias : Lire et compter 0s du jet jusqu'à ce que vous atteigniez le 1. premier appel ce compte de N de zéros.
Le codage gamma est employé dans les applications où la plus grande valeur codée n'est pas connue en avant du temps, ou aux données de la compresse dans lesquelles les petites valeurs sont beaucoup plus fréquentes que de grandes valeurs.
Généralisations < ! -- Cette section est liée du codage de delta d'Elias de -->
Le codage gamma ne code pas les nombres entiers zéro ou négatifs. L'one-way de manipuler zéro est d'additionner 1 avant le codage et puis de soustraire 1 après le décodage. Une autre manière est de mettre en tête chaque code différent de zéro avec un 1 et puis de coder zéro en tant que 0 simple. L'one-way pour coder tous les nombres entiers est d'installer un Bijection , traçant les nombres entiers (0, 1, -1, 2, -2, 3, -3,…) (1, 2, 3, 4, 5, 6, 7,…) avant le codage.
Code d'exemple
Coder lang=" deDécoder
lang=" de
Voir également
Codage de delta d'Elias de Codage d'Elias Omega de
.
| Random links: | Aspatria | Barsils | Gare de Lenham | Hjälmaren | Terri Farley | Codificación_gamma_de_Elias |