Coder un caractère en HAMMING
Bonsoir,
j'ai convertis un caractère en une suite 7 bits, je veux envoyer ce dernier avec les sockets.
le probleme c'est que je ne sais pas s'il faut utiliser une matrice generatrice que je vais creer moi même ou utiliser les indices.
j'ai trouver ce code sur le net mais j'ai pas bien compris le raisonement.
pour quoi utilise t-il deux octets. ???
quelle regle à suivre pour completer les deux octets.???
merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
void cod_hamming(char x,FILE *fichier)
{
int j;
octet oldoc, oc[2];
oldoc=char2octet(x);
for (j=0;j<=1;j++)
{
oc[j].bit[0]=oldoc.bit[4*j];
oc[j].bit[1]=(oldoc.bit[4*j]+oldoc.bit[4*j+1]) % 2;
oc[j].bit[2]=(oldoc.bit[4*j+1]+oldoc.bit[4*j+2]) % 2;
oc[j].bit[3]=(oldoc.bit[4*j]+oldoc.bit[4*j+2]+oldoc.bit[4*j+3]) % 2;
oc[j].bit[4]=(oldoc.bit[4*j+1]+oldoc.bit[4*j+3]) % 2;
oc[j].bit[5]=oldoc.bit[4*j+2];
oc[j].bit[6]=oldoc.bit[4*j+3];
fputc(octet2char(oc[j]),fichier);
}
} |
encore merci