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; 
	} 
}