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é pour les 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 accueillir les bits de parité.
Étape 2
Calculez le bit de parité en premier. En commençant 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, mettez le premier bit à 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 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 réviser _1, 01, 01, qui en contient 3, le bit 2 est donc mis à 1. Bit 4: 0 1 1 _ 1 0 1 _ 0 0 1 0 réviser _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 réviser _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 leurs positions. La somme est la position du bit incorrect. 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.