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");
}
}
}
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
- CRC-CCITT校验码的C程序
- 几种求CRC-CCITT的方法 [C/C#]
- crc校验码生成程序(C#)
- CCITT标准CRC-16计算C源代码
- CRC校验码的源代码
- 二进制CRC校验码生成程序
- CRC校验码的上位机计算程序和例子
- BCD码、CRC校验码、和校验码的生成(C#.NET)
- CRC校验码的理解+CRC校验码算法代码
- CRC校验码的理解+CRC校验码算法代码
- CRC校验码的VHDL代码
- CRC校验码的生成编码
- CRC校验码的校验方法
- CRC-16校验码的使用
- CRC-16-CCITT
- CRC-CCITT算法
- CRC校验码
- CRC校验码
- 自定义View与ViewGroup
- mips交叉编译环境出现/bin/sh: 1: /bin/gawk/: not found
- C#GridViewMergeCell合并
- 数据库和表的基本使用
- iOS应用中的JS交互
- CRC-CCITT校验码的C程序
- VI中的多行删除与复制
- Zookeeper与paxos算法
- windows隐藏python运行时的终端
- 杭州某单位笔试大题
- SQL中LEFT JOIN、Inner Join、Right Join、Left Outer Join、full join区别
- 在CentOS中添加Swap交换文件,防止内存不足时MYSQL崩溃
- Android源码浅析(六)——SecureCRT远程连接Linux,配置端点和字节码
- LeetCode[394] Decode String