해밍코드... 주요 공식 D+P+1 = 2^P 식의 알고리즘을 짜야하는데...

패리티비트수를 구하는 부분함수 설계중인데요....
여기서 질문좀 드릴꼐요..

int calc_parity(int d)
{
int p=1;
int val=2;
int f1;
int f2;
while(1){

f1=d+p+1;
f2=pow(val,p);
if(f1 = f2 || f1 f2)
break;
else
p++;
}
printf(%d,d);
return p;
}

D+P+1 = 2^P
에 의해서...

이런식으로 했더니
D값이 3이면 P값도3
4이면 4
5이면 5
이런식으로 나오는데...

제대로라면
D값이 3또는 4라면
P값은 3이여야하는데..

여기서 막히네요 ㅠㅠ
도움좀 부탁드립니다.

댓글 0

아직 댓글이 없습니다.

C언어 다른 글

목록