clwn.net
当前位置:首页 >> 求一个C语言实现的CRC16/CCITT鶯SE校验码函数 >>

求一个C语言实现的CRC16/CCITT鶯SE校验码函数

用boost的算不算?crc计算部分用C++写,调用boost库计算,编译成dll C#那边直接调用C++的dll来算结果 压缩包包含winform...

//函数功能:计算CRC16 //参数1:*pData 16位CRC校验数据, //参数2:nLength 数据流长度 //参数3:init 初始化值 //参数4:ptable 16位CRC查找表 //逆序CRC计算 unsigned short GetRevCrc_16(unsigned char * pData, int nLength, unsigned sho...

你现在用的是CRC-16校验步骤,要在校验前先送0xFFFF,而CRC-CCITT是不一样的校验步骤,你还是先找CRC-CCITT的校验步骤吧!

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConvertToCRC16 { public static class CRC16Util { // CRC高位字节表 private static readonly byte[] m_CRCHighOrderByteTable = new byte...

循环冗余校验码(CRC) CRC校验采用多项式编码方法。被处理的数据块可以看作是一个n阶的二进制多项式,由 。如一个8位二进制数10110101可以表示为: 。多项式乘除法运算过程与普通代数多项式的乘除法相同。多项式的加减法运算以2为模,加减时不...

我去年的时候有写过一个CRC16的校验程序,现在有点忘了,等我想想给你发邮件吧。 留个邮箱先:)

由于函数名CRC16与单元格名称CRC16冲突,所以将函数名改为CRC Function CRC(ByVal x As Double) As Double CRC = x ^ 16 + x ^ 12 + x ^ 5 + 1End Function

这个介绍的很详细, 你参考一下: http://www.cnblogs.com/Msisiterc/archive/2011/12/20/2294910.html

1021是代表 0001,0000,0010,0001. 从右到左是x的n次方,即x^0=1,x^5,x^12. 还有个x^16在第十七位.

貌似CRC算法循环求余时减法是不带借位的。

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com