求CRC16-CCITT的C#校验算法 求CRC16-CCITT的C#校验算法,最好简单易懂点,根据 06 23 00 FA 00 00 11 22得出的CRC校验码为6F08C#算法CRC 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/jhqin/article/details/6973292 private void GetCRC(byte[] message, ref byte[] crc) { //Function expects a modbus message of any length as well as a 2 byte CRC array in which to //return the CRC values: ushort crcFull = 0xFFFF; for (int i = 0; i < (message.Length) - 2; i++) { crcFull = (ushort)(crcFull ^ message[i]); for (int j = 0; j < 8; j++) { char crclsb = (char)(crcFull & 0x0001); crcFull = (ushort)((crcFull >> 1) & 0x7FFF); if (crclsb == 1) crcFull = (ushort)(crcFull ^ 0xA001); } } crc[1] = (byte)((crcFull >> 8) & 0xFF); crc[0] = (byte)(crcFull & 0xFF); } 函数表达式 CheckTime(string Operate) DataReader内存泄露问题(要考虑内存) 如何随机地生成版本号 一句话就可解决的小问题,顺便散分 150分求解很怪异的addin问题,顶者有分 客户端与服务器间的通信 文件路径的问题(winform) 嵌入窗体求助 怎样实现普通字符串和16进制字符串之间的互相转换? 利用C#重启远程计算机(2) 语音阅读每次会加上语音包的说明 为什么事件抛出的异常捕获不到
{
//Function expects a modbus message of any length as well as a 2 byte CRC array in which to
//return the CRC values: ushort crcFull = 0xFFFF; for (int i = 0; i < (message.Length) - 2; i++)
{
crcFull = (ushort)(crcFull ^ message[i]); for (int j = 0; j < 8; j++)
{
char crclsb = (char)(crcFull & 0x0001);
crcFull = (ushort)((crcFull >> 1) & 0x7FFF); if (crclsb == 1)
crcFull = (ushort)(crcFull ^ 0xA001);
}
}
crc[1] = (byte)((crcFull >> 8) & 0xFF);
crc[0] = (byte)(crcFull & 0xFF);
}