crc64 linux,crc32和crc16分别程序实现

本文介绍了CRC32和CRC16两种校验算法的C语言实现,包括查表法和非查表法,并提供了对应的C语言代码示例。通过实际操作,帮助理解CRC计算过程。
摘要由CSDN通过智能技术生成

CRC32和CRC16 c语言实现

作者:万飞

2013/10/31

由于在工作用到了crc32和crc16两种算法 在网上看了各种文档 说什么的都有,有的讲算法有的讲实现,有的甚至还讲历程和由来,最后经过整理自己本人亲自动手了敲了3个程序,分别crc16和crc32不同实现方法 通过测试:

CRC32查表法

#include

#include

#include

void GetCrc32Long(const char *ptr, char *out)

{

static unsigned int Crc32Table[256]={

0x00000000,0x77073096,0xEE0E612C,0x990951BA,

0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3,

0x0EDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988,

0x09B64C2B,0x7EB17CBD,0xE7B82D07,0x90BF1D91,

0x1DB71064,0x6AB020F2,0xF3B97148,0x84BE41DE,

0x1ADAD47D,0x6DDDE4EB,0xF4D4B551,0x83D385C7,

0x136C9856,0x646BA8C0,0xFD62F97A,0x8A65C9EC,

0x14015C4F,0x63066CD9,0xFA0F3D63,0x8D080DF5,

0x3B6E20C8,0x4C69105E,0xD56041E4,0xA2677172,

0x3C03E4D1,0x4B04D447,0xD20D85FD,0xA50AB56B,

0x35B5A8FA,0x42B2986C,0xDBBBC9D6,0xACBCF940,

0x32D86CE3,0x45DF5C75,0xDCD60DCF,0xABD13D59,

0x26D930AC,0x51DE003A,0xC8D75180,0xBFD06116,

0x21B4F4B5,0x56B3C423,0xCFBA9599,0xB8BDA50F,

0x2802B89E,0x5F058808,0xC60CD9B2,0xB10BE924,

0x2F6F7C87,0x58684C11,0xC1611DAB,0xB6662D3D,

0x76DC4190,0x01DB7106,0x98D220BC,0xEFD5102A,

0x71B18589,0x06B6B51F,0x9FBFE4A5,0xE8B8D433,

0x7807C9A2,0x0F00F934,0x9609A88E,0xE10E9818,

0x7F6A0DBB,0x086D3D2D,0x91646C97,0xE6635C01,

0x6B6B51F4,0x1C6C6162,0x856530D8,0xF262004E,

0x6C0695ED,0x1B01A57B,0x8208F4C1,0xF50FC457,

0x65B0D9C6,0x12B7E950,0x8BBEB8EA,0xFCB9887C,

0x62DD1DDF,0x15DA2D49,0x8CD37CF3,0xFBD44C65,

0x4DB26158,0x3AB551CE,0xA3BC0074,0xD4BB30E2,

0x4ADFA541,0x3DD895D7,0xA4D1C46D,0xD3D6F4FB,

0x4369E96A,0x346ED9FC,0xAD678846,0xDA60B8D0,

0x44042D73,0x33031DE5,0xAA0A4C5F,0xDD0D7CC9,

0x5005713C,0x270241AA,0xBE0B1010,0xC90C2086,

0x5768B525,0x206F85B3,0xB966D409,0xCE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值