资源简介
crc32源代码32位crc校验码生成程序源代码vc++测试通过
http://hi.baidu.com/yanzi52351

代码片段和文件信息
// crc1.cpp : Defines the entry point for the console application.
//http://hi.baidu.com/yanzi52351
//yanzi52351@126.com
#include “stdafx.h“
#include
#include
unsigned long int crc32_table[256];
unsigned long int ulPolynomial = 0x04c11db7;
unsigned long int Reflect(unsigned long int ref char ch){
unsigned long int value=0;
int i;
for(i = 1; i < (ch + 1); i++){
if(ref & 1)
value |= 1 << (ch - i);
ref >>= 1;
}
return value;
}
void init_crc32_table(){
unsigned long int crctemp;
unsigned long int t1t2;
unsigned long int flag;
int ij;
for(i = 0; i <= 0xFF; i++){
temp=Reflect(i 8);
crc32_table[i]= temp<< 24;
for (j = 0; j < 8; j++){
flag=crc32_table[i]&0x80000000;
t1=(crc32_table[i] << 1);
if(flag==0)
t2=0;
else
t2=ulPolynomial;
crc32_table[i] =t1^t2 ;
}
crc=crc32_table[i];
crc32_table[i] = Reflect(crc32_table[i] 32);
}
return;
}
unsigned long GenerateCRC32(char* DataBufunsigned long len) //crc32生成函数
{
unsigned long oldcrc32;
unsigned long crc32;
unsigned long oldcrc;
unsigned int charcnt;
char ct;
oldcrc32=0x00000000; //初值为0
charcnt=0;
while(len--)
{
t= (oldcrc32>>24)&0xFF; //要移出的字节的值
oldcrc=crc32_table[t]; //根据移出的字节的值查表
c=DataBuf[charcnt]; //新移进来的字节值
oldcrc32=(oldcrc32<<8)|c; //将新移进来的字节值添在寄存器末字节中
oldcrc32=oldcrc32^oldcrc; //将寄存器与查出的值进行xor运算
charcnt++;
}
crc32=oldcrc32;
return crc32;
}
int main(int argc char* argv[])
{
char test[6]={‘b‘‘c‘‘d‘‘d‘‘d‘‘r‘};
init_crc32_table(); //先生成
GenerateCRC32(testsizeof(test));
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1863 2010-05-20 15:35 crc1\crc1.cpp
文件 4512 2010-05-19 20:44 crc1\crc1.dsp
文件 516 2010-05-19 20:44 crc1\crc1.dsw
文件 50176 2010-05-20 15:35 crc1\crc1.ncb
文件 48640 2010-05-20 15:35 crc1\crc1.opt
文件 1390 2010-05-20 15:34 crc1\crc1.plg
文件 202 2010-05-20 15:35 crc1\crc1.positions
文件 172120 2010-05-20 15:34 crc1\Debug\crc1.exe
文件 1196 2010-05-19 20:44 crc1\ReadMe.txt
文件 291 2010-05-19 20:44 crc1\StdAfx.cpp
文件 769 2010-05-19 20:44 crc1\StdAfx.h
目录 0 2010-05-20 15:37 crc1\Debug
目录 0 2010-05-20 15:35 crc1
文件 119 2010-05-20 15:07 我的空间.url
文件 125 2010-05-20 15:08 说明.url
----------- --------- ---------- ----- ----
281919 15
相关资源
- 小甲鱼C语言课件 源代码
- c语言看发的网络协议 ,源代码
- C语言实现的DES对称加密算法
- 数据结构,迷宫问题C语言版源代码
- C语言 学生信息管理系统 源代码
- C语言版3D魔方游戏源代码
- QT5开发及源代码
- USB CAN Tool 源代码(LabVIEW 2011环境)
- 超声波水表源代码
- 一个模糊PID温度控制算法源代码
- 数据结构 图的遍历源代码
- 数据结构实验源代码集
- TCP/IP客户端和服务器端源代码,好用
- crc16/32计算(crc16_32.c)
- 交互式计算机图形学 第六版 OpenGL源代
- 数据结构教程李春葆第五版书中例题
- 三次样条插值类源代码!
- diy写字机grbl v1.1源代码
- C语言常用算法源代码
- 关于LED制作的源代码合集(38套)
-
STM32-ba
se64加密源代码 - 51超声波避障源代码
- 一个C++实现的源代码行数统计工具
- ZZULIOJ部分答案C语言免费.7z
- 吉他调音软件源代码
- 连连看源代码C语言版
- AVR单片机SPI通讯程序 (C语言源代码)
- Visual+C++数字图像处理-谢凤英-源代码
- 大富翁源代码
- VC++ 中国象棋经典游戏源代码
评论
共有 条评论