CRC-CCITT校验码的C程序

来源:互联网 发布:网络直播策划方案脚本 编辑:程序博客网 时间:2024/05/18 02:52
#include<stdio.h>


void mK_cRctable(unsigned short gEnpoly);


int main(void)
{
unsigned short polynomial = 0x1021;  
mK_cRctable(polynomial);
while (1);
return 0;
}
void mK_cRctable(unsigned short gEnpoly)
{
unsigned short cRc_16 = 0;
unsigned short i, j, k;
unsigned short   cRctable_16[256] = {0};
// printf("%d\n",sizeof(unsigned short));
for (i = 0, k = 0; i<256; i++, k++)
{


cRc_16 =i;
for (j = 16; j>0; j--)
{
if (cRc_16 & 0x8000)
{
cRc_16 = (cRc_16<<=1)^gEnpoly;    
}
else
cRc_16<<=1;  
}
cRctable_16[k] = cRc_16;
}
   //下边为输出函数
for (i = 0; i < 256; i++)
{
printf("0x%04x  ",cRctable_16[i]);
if ((i + 1) % 8 == 0)
{
printf("\n");
}
}
}
0 0
原创粉丝点击