C++Builder 程序员博客
22 Aug
如下代码在创建码表时不正确,请高手指点,不胜感谢!
void CRC32::BuildTable32()
{
int i,j;
long crc;
for (i = 0; i < 256; i++)
{
crc = i;
for (j = 0; j < 8; j++)
{
if (crc & 1)
crc = (crc >> 1) ^ 0xEDB88320;
else
crc >>= 1;
}
TableCRC32[i] = crc;
}
}
请高人赐教啊!
CRC要确定初始状态和多项式,计算结果也可以取反,所以一个串数值会有不同的CRC结果。
所以你要了解你需要的是什么CRC多项式和初始值,计算结果取不取反。
多谢liskman,问题已解决。