| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 725 人关注过本帖
标题:被crc32搞晕了,求各位大虾指点
只看楼主 加入收藏
lain
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-12-9
收藏
 问题点数:0 回复次数:0 
被crc32搞晕了,求各位大虾指点

这两天饱受crc32的折磨。。。。。。

各位大虾帮帮忙啊!俺在此谢了先

我是要做通信协议中的crc32,数据是从低位开始发送的

1。这个表

{0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
..........
}

中的数据是低位在前还是高位在前哦?

某论坛上的一位大虾推荐看这篇英文文章http://www.repairfaq.org/filipg/LINK/F_crc_v31.html

我仔仔细细的看了,除了最后莫名其妙的就变成

r=0;
while (len--)
r = (r<<8) ^ t[(r >> 24) ^ *++];

这个之外,其余的我觉得都差不多懂了,但是我按照他的算法算出来的结果和标准提供的结果不一样,呜呜!

那上面说代入数据123456789,得到的结果是CBF43926!

2。我c/c++基础差,网上的程序基本上都只有算crc32的子函数,而且函数的形参都是一个指向字符数组的指针和数组的长度,数据是一个字节一个字节的算的,算完一个就把指针加一,移到下移个字节。如果,我要想传int整数,该咋办呢?如果定义成int数组,指针加一就移动了4个字节.

3。如果编出来一个计算crc32值的程序,怎样知道算出的crc32值是否正确?

唉!真是郁闷!

2005-12-14 20:33
快速回复:被crc32搞晕了,求各位大虾指点
数据加载中...
 
   



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

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