crc标准算法

CRC(Cyclic Redundancy Check)是一种广泛用于检测数据传输错误的校验算法。本文详细介绍了CRC的工作原理,标准算法及其在不同领域的应用,帮助读者深入理解如何使用CRC进行数据完整性检查。
摘要由CSDN通过智能技术生成
#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值