-
汉明码的理解
- 用于验证传输二进制0101010101数据的正确性,并可以纠正1位。
- 例如原信息码k为10101,添加海明码k验证
- 利用公式2^k - 1 >= n + k求出海明码的长度k = 4(因为2^4 - 1>= 5+4 && 2^3 - 1 < 5+ 3所以需要4位校验码)
- 确定总长度是9位,在新编码2^(k-1)k递增位置占坑补0,确定汉明码的位置。
- 其余坑位,按原来顺序填充信息位。
- 将9位,转换为二进制,倒数第一位等于1(1,3,5,7)的数据执行异或运算,并填充到效验码第1位。
- 转换为二进制,倒数第二位等于1(10,11,110,111)的数据执行异或运算,并填充到效验码第2位。
- 转换为二进制,倒数第三位等于1(100,101,110,111,1100)的数据执行异或运算,并填充到效验码第4位。
- 转换为二进制,倒数第四位等于1(1000,1001,1011,1010)的数据执行异或运算,并填充到效验码第8位。
- 以上得到完整的汉明码。
- 如何效验数据的正确性?
- 执行以上异或运算,全部为0,则数据传输正确。0101则第5位发生错误。
-
相关阅读:
团队开发day09
团队开发day08
团队开发day07
python 字符串操作,获取任意字符串的方法(开头,结尾开始)
ERIKA OS学习和使用总结
解决win7无法正常进入睡眠的问题
简单实用的Makefile
js 签字插件
html2canvas实现截取指定区域或iframe的区域
jquery监听动态添加的input的change事件
-
原文地址:https://www.cnblogs.com/gongjin/p/9443026.html
Copyright © 2020-2023
润新知