| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 646 人关注过本帖
标题:[求助]一个CRC校验程序 麻烦改改错
只看楼主 加入收藏
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
 问题点数:0 回复次数:3 
[求助]一个CRC校验程序 麻烦改改错
CRC校验程序 麻烦帮忙解释一下或该该错?
谢谢!

下面这个是计算CRC32参数表的程序在网上找的 没看明白? 还有很多错

#include <stdio.h>
unsigned long int crc32_table[256];
unsigned long int ulPolynomial = 0x04c11db7;
unsigned long int Reflect(unsigned long int ref, char ch)
{
unsigned long int value(0); /*错误:函数定义位置不正确在Reflect函数中*/
/* 交换bit0和bit7,bit1和bit6,类推 */
for(int i = 1; i < (ch + 1); i++) /*错误:表达式语法错在Reflect函数中*/
{
if(ref & 1)
value |= 1 << (ch - i);
ref >>= 1;
}
return value;
}
init_crc32_table()
{
unsigned long int crc,temp;
/*256个值 */
for(int i = 0; i <= 0xFF; i++) /*错误:未定义的符号“i”在init_crc32_table函数中,表达式语法错在init_crc32_table函数中*/
{
temp=Reflect(i, 8);
crc32_table[i]= temp<< 24;
for (int j = 0; j < 8; j++)
{
unsigned long int t1,t2;
unsigned long int flag=crc32_table[i]&0x80000000;
t1=(crc32_table[i] << 1);
if(flag==0)
t2=0;
else
t2=ulPolynomial;
crc32_table[i] =t1^t2 ;
}
crc=crc32_table[i];
crc32_table[i] = Reflect(crc32_table[i], 32);
}
}

搜索更多相关主题的帖子: CRC int unsigned long 
2006-05-12 19:59
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
正好老师也要我们也一个,~不过先吃饭~哈哈

淘宝杜琨
2006-05-12 20:00
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
#include <stdio.h>

unsigned long int crc32_table[256];
unsigned long int ulPolynomial = 0x04c11db7;

unsigned long int Reflect(unsigned long int ref, char ch){
unsigned long int value=0;
int i;
for(i = 1; i < (ch + 1); i++){
if(ref & 1)
value |= 1 << (ch - i);
ref >>= 1;
}
return value;
}


void init_crc32_table(){
unsigned long int crc,temp;
unsigned long int t1,t2;
unsigned long int flag;
int i,j;
for(i = 0; i <= 0xFF; i++){
temp=Reflect(i, 8);
crc32_table[i]= temp<< 24;
for (j = 0; j < 8; j++){

flag=crc32_table[i]&0x80000000;
t1=(crc32_table[i] << 1);
if(flag==0)
t2=0;
else
t2=ulPolynomial;
crc32_table[i] =t1^t2 ;
}
crc=crc32_table[i];
crc32_table[i] = Reflect(crc32_table[i], 32);
}
return;
}

现在看看呢?

淘宝杜琨
2006-05-12 20:19
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
得分:0 
现在行了 我在这卡了很久 谢谢!
去做下一步工作了哈
谢谢!!

[fts=3][M][ftc=#F16C4D]ぃ~~è前方是绝路,希望在转角è~~ぃ[/ft][/M][/ft]
2006-05-12 20:51
快速回复:[求助]一个CRC校验程序 麻烦改改错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018343 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved