www.pudn.com > Hanming.rar > Decoder_Hamming.c
void Decoder_Hamming(int in[7], int out[4])
//(7, 4) บบร๗ย๋า๋ย๋ฦ๗
{
int j, S;
int s[3];
s[0] = in[0] ^ in[1] ^ in[2] ^ in[4];
s[1] = in[0] ^ in[1] ^ in[3] ^ in[5];
s[2] = in[0] ^ in[2] ^ in[3] ^ in[6];
S = s[0] * 4 + s[1] * 2 + s[2];
for (j = 0; j <= 3; j++)
out[j] = in[j];
switch(S){
case 0 :
case 1 :
case 2 :
case 4 :
break;
case 3 :
out[3] = out[3] ^ 1;
break;
case 5 :
out[2] = out[2] ^ 1;
break;
case 6 :
out[1] = out[1] ^ 1;
break;
case 7 :
out[0] = out[0] ^ 1;
break;
}
}