关于数据校验[VC/C++编程]
本文“关于数据校验[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.什么是数据校验
通俗的说,就是为保证数据的完好性,用一种指定的算法对原始数据计算出的一个校验值.接纳方用一样的算法计算一次校验值,假如和随数据供应的校验值一样,就阐明数据是完好的.
2.最简单的查验
实现办法:最简单的校验就是把原始数据和待对比数据直接举行对比,看能否完好一样这种办法是最安全最精确的.同时也是效率最低的.
实用范围:简单的数据量极小的通讯.
利用例子:龙珠cpu在线调试工具bbug.exe.它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是方才发送字节后才持续发送下一个字节的.
3.奇偶校验Parity Check
实现办法:在数据存储和传输中,字节中额外增添一个比特位,用来查验错误.校验位可以通过数据位异或计算出来.
利用例子:单片机串口通讯有一情势就是8位数据通讯,另加第9位用于放校验值.
4.bcc异或校验法(block check character)
实现办法:很多基于串口的通讯都用这种既简单又相当精确的办法.它就是把全部数据都和一个指定的初始值(普通是0)异或一次,最后的后果就是校验值,普通
把她附在通讯数据的最后一同发送出去.接纳方收到数据后自己也计算一次异或和校验值,假如和收到的校验值一致就阐明收到的数据是完好的.
校验值计算的代码近似于:
unsigned uCRC=0;//校验初始值
for(int i=0;i<DataLenth;i++) uCRC^=Data[i];
实用范围:实用于大大都要求不高的数据通讯.
利用例子:ic卡接口通讯、很多单片机系统的串口通讯都利用.
5.crc循环冗余校验(Cyclic Redundancy Check)
实现办法:这是操纵除法及余数的原理来举行错误检测的.将接纳到的码组举行除法运算
,假如除尽,则阐明传输无误;假如未除尽,则表明传输呈现不对.crc校验
具还有自动纠错本领.
crc查验主要有计算法和查表法两种办法,网上很多实现代码.
实用范围:CRC-12码普通用来传送6-bit字符串;CRC-16及CRC-CCITT码则用是来传送
8-bit字符.CRC-32:硬盘数据,网络传输等
利用例子:rar,以太网卡芯片、MPEG解码芯片中
以上是“关于数据校验[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:<b>二进制浏览、编辑的实现</b>
- ·下一篇文章:操纵PDFLib生成PDF文档
- ·中查找“关于数据校验”更多相关内容
- ·中查找“关于数据校验”更多相关内容