奇偶校验、累加和校验、CRC 算法

本文介绍了三种数据校验方法:奇偶校验通过对数据位添加额外位确保1的总数为奇或偶来检查错误;累加和校验通过计算所有数据字节的总和并将其用作校验和来检测错误;CRC(循环冗余校验)使用多项式除法生成校验码,提高了错误检测能力。CRC算法涉及二进制多项式乘除及模2运算,能够有效检测传输错误。
摘要由CSDN通过智能技术生成

1.奇偶校验

参考https://blog.csdn.net/u012923751/article/details/80352325

要发送的字节是0x1a,二进制表示为0001 1010。

  • 采用奇校验,则在数据后补上个0,数据变为0001 1010 0,数据中1的个数为奇数个(3个)
  • 采用偶校验,则在数据后补上个1,数据变为0001 1010 1,数据中1的个数为偶数个(4个)

接收方通过计算数据中1个数是否满足奇偶性来确定数据是否有错。

2.累加和校验

要传输的信息为: 6、23、4

加上校验和后的数据包:6、23、4、33

这里 33 为前三个字节的校验和。接收方收到全部数据后对前三个数据进行同样的累加计算,如果累加和与最后一个字节相同的话就认为传输的数据没有错误。

3.CRC 算法

基本思想是将传输的数据当做一个位数很长的数。将这个数除以另一个数。得到的余数作为校验数据附加到原数据后面。

还以上面例子中的数据为例:

6、23、4 可以看做一个2进制数: 0000011000010111 00000010

假如被除数选9,二进制表示为:1001

则除法运算可以表示为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值