#include <stdlib.h>
#include <stdio.h>
#include "crc.h"
#if 0
unsigned int GetTickCount(void)
{
struct timeval tv;
if (gettimeofday(&tv, NULL)!=0)
return 0;
return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
}
#endif
void PrintCrcTable()
{
//Poly = 0xedb88320 WinRAR Poly
unsigned int Val;
for (unsigned int i = 0; i < 256; i++)
{
Val = i;
for (unsigned int k = 0; k < 8; k++)
{
if (Val & 1)
Val = 0xedb88320L ^ (Val >> 1);
else
Val = Val >> 1;
}
printf ("0x%08x, ", Val);
if (0 == ((i+1)%6))
printf ("\n");
}
}
const unsigned int Crc32Table[] =
{
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064
crc标准算法
最新推荐文章于 2024-07-11 18:50:29 发布
CRC(Cyclic Redundancy Check)是一种广泛用于检测数据传输错误的校验算法。本文详细介绍了CRC的工作原理,标准算法及其在不同领域的应用,帮助读者深入理解如何使用CRC进行数据完整性检查。
摘要由CSDN通过智能技术生成