异或校验算法的应用
来源:互联网 发布:C语言中感叹号 编辑:程序博客网 时间:2024/05/22 01:47
异或交验算法
通过本段程序将通过异或校验算法,对给定的字符串进行获取交验值,并根据一般的数据打包方法把数据加上包头、包尾、交验值和回车换行符,成为数据发送包。
- /*--------------------------------------------------------------------------------------
- * 程序功能:将字符串按照NMEA-0183无线通信协议格式打包函数
- * 执行条件:通过函数调用
- * 执行结果:将给定的字符串参数经过异或校验后打包发送
- *--------------------------------------------------------------------------------------*/
- void CSerialPortTestDlg::SendNMEAData(CString &strData)
- {
- char checksum = 0, cr = 13, ln = 10;
- char ch,cl;//校验位的高四位和第四位;
- //例如:校验值为5D,则ch='5';cl='D';
- for (int i = 0; i<strData.GetLength(); i++)
- {
- checksum = checksum ^ strData[i]; //进行异或交验取值
- }
- /*--------------------------------------------------------------------------------------
- * 功能:(下列代码)为了取得的异或值能够显示为字符
- * 过程:先将异或后的一个字节,高四位和第四位分开,根据
- * 对应的16进制数,显示出其字符。例如0000,对应16进制的0,
- * 将会显示字符‘0’,即ASCII的第30个字符,1011对应16进制的B
- * 将会显示字符‘B’,即ASCII 的第65个字符(‘A’后面那个,所
- * 以计算方法是‘A’+1)
- *--------------------------------------------------------------------------------------*/
- ch = (checksum >> 4) & 0x0F; //取高位数;
- cl = checksum & 0x0F; //取低位数;
- if (ch < 10));//低于10的数
- ch = ch + '0';
- else
- ch = (ch - 10 ) + 'A';);//不低于10的16进制数,如:A、B、C、D、E、F
- if (cl < 10)
- cl = cl + '0';
- else
- cl = (cl - 10 )+ 'A';
- CString strNMEAData;
- //加上包头、包尾、校验值和回车、换行符,形成数据包
- strNMEAData = '$' + strData + '*' + ch + cl + cr + ln;
- m_SerialPort.WriteToPort((LPCTSTR)strNMEAData);//将数据包发送
- m_strEditSendMessage.Format("发送数据包:%s",strNMEAData);//显示数据包
- UpdateData(FALSE);
- }
- 异或校验算法的应用
- LRC异或校验算法
- BCC(异或校验)、CRC、LRC校验算法
- BCC(异或)、CRC、LRC校验算法
- 算法—位异或的应用
- 自己写的异或校验函数
- 异或校验方法
- Java异或校验
- 异或的应用
- 奇偶校验,异或校验,和校验,nios串口校验
- CRC校验的算法
- 异或在算法中的应用
- 有趣算法--“异或” 原理及应用
- 异或求校验和
- 异或校验工作方式
- GPS数据包的ASCII异或校验和计算方法(VC++)
- 校验和的计算/校验算法
- javascript实现银行卡号的Luhn验证或校验算法-简单易懂
- apt-get 使用指南
- 解读SQL Server 2008中性能和可扩展性
- C# 打印DataTable
- 对JSP页面传值中文乱码的简单解决方法
- Eclipse编译C++
- 异或校验算法的应用
- SQL Server 2008中有关XML的新功能
- Servlet实现验证码
- Microsoft SQL Server 2008和Microsoft数据平台开发
- RMAN的备份加密
- rebuild index online的锁机制浅析(续)
- PHP乱码如何解决
- 写JavaScript小提示
- 开博了