admin管理员组文章数量:1026989
校验码
何谓奇偶校验?
奇偶校验是一种简单有效的校验方法。
这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数或者偶数
位数是奇数的就叫做奇校验,偶数就叫做偶校验
通过这种方式可以使码距变成2
举例
下例取自wikipedia
原数据(7位) | 1的个数 | 偶校验(8位) | 奇校验(8位) |
0000000 | 0 | 00000000 | 00000001 |
1010001 | 3 | 10100011 | 10100010 |
校验原理
奇偶校验可以通过逐位异或的方式来简化运算
校验成功
- A向B发送数据1001
- 判断1的个数是否为偶数:
1^0^0^1=0
,因为逐位亦或的结果为0所以1的个数为偶数 - 在原数据末尾添0,变成10010
- 传输出错
- B收到的数据变成11010
- B对收到的数据进行逐位亦或
1^1^0^1^0=1
- 计算结果为1,因为偶校验,所以正确的结果应该是0,
1!=0
,传输出错!
校验失败
由于奇偶校验比较简单,对于下列情况就无能为力
1001 -> 10010(偶校验) -> 10111(传输出错)
校验码
何谓奇偶校验?
奇偶校验是一种简单有效的校验方法。
这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数或者偶数
位数是奇数的就叫做奇校验,偶数就叫做偶校验
通过这种方式可以使码距变成2
举例
下例取自wikipedia
原数据(7位) | 1的个数 | 偶校验(8位) | 奇校验(8位) |
0000000 | 0 | 00000000 | 00000001 |
1010001 | 3 | 10100011 | 10100010 |
校验原理
奇偶校验可以通过逐位异或的方式来简化运算
校验成功
- A向B发送数据1001
- 判断1的个数是否为偶数:
1^0^0^1=0
,因为逐位亦或的结果为0所以1的个数为偶数 - 在原数据末尾添0,变成10010
- 传输出错
- B收到的数据变成11010
- B对收到的数据进行逐位亦或
1^1^0^1^0=1
- 计算结果为1,因为偶校验,所以正确的结果应该是0,
1!=0
,传输出错!
校验失败
由于奇偶校验比较简单,对于下列情况就无能为力
1001 -> 10010(偶校验) -> 10111(传输出错)
本文标签: 校验码
版权声明:本文标题:校验码 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/IT/1686512624a4289.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论