Comment calculer le code de Hamming
Étape 1
Créez le mot de données. Tout bit dont la position est une puissance de deux (premier, deuxième, quatrième, etc.) doit être réservé aux informations de parité. Utilisez la longueur d'un mot dont vous avez besoin pour vous adapter à la source de données et aux bits de parité.
Par exemple:
1 1 0 1 0 0 1 0 devient _ _ 1 1 1 1 1 _ 0 0 1 0
Les bits restent dans le même ordre mais ont été étendus pour s'adapter aux bits de parité.
Étape 2
Calculez le bit de parité en premier. Commencez par le premier bit, lisez un bit, puis sautez un bit et répétez l'opération en comptant le nombre de bits trouvés. Les bits de parité comptent comme des zéros.
Si le nombre de uns est pair, définissez le premier bit sur zéro. Sinon, mettez-le comme un.
Par exemple:
Les bits 1, 3, 5, 7, 9 et 11 de __ 1 _ 1 0 1 _ 0 0 1 0, _11101, en contiennent quatre. Ceci est pair, le premier bit est donc mis à zéro: 0 _ 1 _ 1 0 1 _ 0 0 1 0.
Étape 3
Calculez les bits de parité restants. Le bit deux lit deux bits du bit deux, puis en saute deux et se répète. Le bit quatre lit quatre bits, puis en saute quatre et commence par le bit quatre. Continuez avec ce modèle jusqu'à ce qu'il ne reste plus de bits de parité à calculer.
Par exemple:
Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 check _1, 01, 01, qui en contient 3, ainsi le bit 2 est mis à 1. Bit 4: 0 1 1 _ 1 0 1 _ 0 0 1 0 contrôle _101, 0, qui en contient 2, le bit 4 est donc mis à 0. Bit 8: 0 1 1 0 1 0 1 _ 0 0 1 0 contrôle _0010, avec un seul, définissez le bit 8 sur 1
Le mot codé est donc 011010110010.
Étape 4
Confirme le mot. Si un mot est corrompu, les bits de parité ne correspondent pas à ce qui est attendu. Pour confirmer qu'un mot n'est pas corrompu, il vous suffit de calculer les bits de parité avec les étapes deux et trois. Si l'un des bits ne correspond pas, enregistrez leurs positions.
Étape 5
Corrige le mauvais côté. Si vous trouvez des bits de parité incorrects, ajoutez simplement les positions des bits. La somme est la position du mauvais bit. Déplacez la valeur du bit dans cette position.
Par exemple, si les bits de parité un et quatre sont incorrects, retournez la valeur du cinquième cinquième bit pour corriger l'erreur.