计算 奇偶校验 程序 对不对
新写了一个奇偶校验的程序,将校验位保存到card[]数组相应位置;
大家参考下 ,看看有逻辑错误没~
#include<stdio.h>
void main()
{
char card[32];
int i,j,sum,icard[64];
FILE *fp;
fp = fopen("c.txt","w+");
for(i=0; i<256; i++)
{
sum = 0;
for(j=0; j<8; j++)
{
sum += (i >> j) & 0x01;
}
if(1 == (sum%2))
card[i/8] += 1 << (i % 8);
}
printf("%s",card);
for(i=0; i<32; i++)
{
icard[2*i] = card[i] & 0x0f;
icard[2*i+1] = card[i] & 0xf0;
}
fputs(card,fp);
}