当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

关于数据校验[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好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .