计算 奇偶校验 程序 对不对

fdca6431 2011-06-02 09:20:25

新写了一个奇偶校验的程序,将校验位保存到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);
}
...全文
300 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fdca6431 2011-06-04
  • 打赏
  • 举报
回复
ai,很是无语 。大哥们 ,我要结贴了 ,
#include<stdio.h>
void main()
{
char card[32]={0},icard[64]={0},str[32];
int i,j,sum;
FILE *fp;
fp = fopen("c1.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("%6d,%6d,%6d\n",i,sum%2,(card[i/8]>>(i%8)) & 1);
/*if(i%10 == 0)
getch();*/
}
fputs(card,fp);
getch();
fgets(str,32,fp);
printf("like:%sthis",str);
if(strcmp(str,card) == 0)
printf("\n\n\nEqual\n\n");
else printf("\nError\n");
}

这个大家需要可以用用~
CrackValue 2011-06-02
  • 打赏
  • 举报
回复
奇奇=偶
奇偶=奇
偶偶=偶
CrackValue 2011-06-02
  • 打赏
  • 举报
回复
MPU本来不是有个奇偶校验吗?
ryfdizuo 2011-06-02
  • 打赏
  • 举报
回复
管理帖子->输入密码->给想加分的记录填分数->结贴
coco123fdsg 2011-06-02
  • 打赏
  • 举报
回复
;););)
ryfdizuo 2011-06-02
  • 打赏
  • 举报
回复
自己跟这里的程序对比一下结果。。。
http://topic.csdn.net/u/20071115/01/9df34c4e-63b8-484a-a4c6-80074a46094e.html
fdca6431 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 crackvalue 的回复:]
MPU本来不是有个奇偶校验吗?
[/Quote]
要用51串口发送数据 ,带奇偶校验的 ,需要计算然后发出去 ,所以想做个 查表 的表...

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧