求一段计算 CRC 代码的程序,要求简单 RT 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看这个:void InitCRCTable(){ unsigned long crc, i, j; unsigned long poly = 0xEDB88320; for(i=0; i<256; i++) { crc = i; for(j=8; j>0; j--) { if(crc & 1) crc = (crc >> 1) ^ poly; else crc >>= 1; } CRCTable[i] = crc; }}unsigned long CalculateCRC(unsigned char * buffer,long length){ unsigned long crc = 0xFFFFFFFF; unsigned char * ptr = buffer; while(length > 0) { crc = ((crc >> 8) & 0x00FFFFFF) ^ CRCTable[(crc ^ *ptr) & 0xFF]; ptr++; length--; } return crc;}int main(int argc, int argv){ InitCRCTable(); unsigned long crc = CalculateCRC((unsigned char *)("ABCDEFG"), 7); return 0;} 对了,忘记说明一个定义:unsigned CRCTable[256]; 请教帖-学习vc后的方向 子窗口调用父窗口的函数? 有关文件读写的另类问题 菜鸟倾所有的800分提问:关于hook textout的问题 关于文件的简单操作!!!!!!!!!!ji a!!! 请教c++高手, 对于一些自已写的.h头文件,如果多次包含就会发生重复.详情讲进来看看......... 怎样读取文件的属性? 请问高手,用ADO如何知道一张表是主键是什么字段? 请问:怎么实现用VC编程能自动生成一个WORD文档? 请问在BCB中,如何判断是否已经联到internet? MoveMemory 和 CopyMemory 有什么区别? 关于CInternetSession的问题
{
unsigned long crc, i, j;
unsigned long poly = 0xEDB88320; for(i=0; i<256; i++)
{
crc = i;
for(j=8; j>0; j--)
{
if(crc & 1)
crc = (crc >> 1) ^ poly;
else
crc >>= 1;
}
CRCTable[i] = crc;
}
}
unsigned long CalculateCRC(unsigned char * buffer,long length)
{
unsigned long crc = 0xFFFFFFFF;
unsigned char * ptr = buffer; while(length > 0)
{
crc = ((crc >> 8) & 0x00FFFFFF) ^ CRCTable[(crc ^ *ptr) & 0xFF];
ptr++;
length--;
}
return crc;
}
int main(int argc, int argv)
{
InitCRCTable(); unsigned long crc = CalculateCRC((unsigned char *)("ABCDEFG"), 7);
return 0;
}
unsigned CRCTable[256];