Bonjour,

Il y a quelques imprécisions dans le calcul du code de Hamming que j'ai vu en cours du coup je ne suis pas très sur de la démarche, j'aimerais votre avis sur cet exemple :

A envoyer : 01000011
m = 8 bits d'information
donc il faut k = 4 bits de contrôles disposés ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
      =>    c1   c2   0   c3   1   0   0   c4   0   0   1   1
indices :   1    2    3   4    5   6   7    8   9  10  11  12
Jusque la, ca va... maintenant, il faut calculer c1, c2, c3, c4 :

On décompose les indices des bits d'information en puissance de 2 :
3 = 2 + 1
5 = 4 + 1
6 = 4 + 2
7 = 4 + 2 + 1
9 = 8 + 1
10 = 8 + 2
11 = 8 + 2 + 1
12 = 8 + 4

Et on doit regarder maintenant pour chaque bit de correction, en fonction de son indice, les bits correspondant :

Pour c1, l'indice = 1 donc 3,5,7,9,11

mais c'est à cette étape que j'ai un problème... Pour obtenir la valeur du bit correcteur :

Est-ce qu'il faut additionner les valeurs des bits correspondant à ces indices, soit :
c1 = 0 + 1 + 0 + 0 + 1 = 0

OU

Est-ce qu'il faut regarder la "parité" des indices (impaire: 1 et paire : 0) (ici ils sont tous impaires) :
c1 = 1 + 1 + 1 + 1 + 1 = 1


On a pas le même résultat pour ce bit correcteur c1 mais je ne sais pas quelle est la bonne solution ?

Merci de votre aide.

Sinon si quelqu'un a un petit programme, ou fonction pour calculer le code de hamming, je suis preneur, ca me permettrait de vérifier quelle est la bonne solution.

Bonne journée