具体说明海明码的表示方法

简介: 具体说明海明码的表示方法

比如有一道题是:


已知被校验的数据为6位二进制数,D=101101,求其海明码表示方法。


解体的原理及步骤如下:


若有k位数据,需要n位校验位 满足关系k+n<=2^n,此处k=6,则n=4


海明码是由数据与校验位组合而成的。其组合规则为:将数据与校验码自左至右进行编码(D1D2D3...D10,下标是编号),其中编号为2的幂的位均为校验位(第1,2,4,8位),其余为数据位。


则生成的码字为:ab1c011d01


再将每一数据位的编号展开成2的幂的和:


3=2+1 ;5=4+1; 6=4+2; 7=4+2+1; 9=8+1;  10=8+2


可以这样理解:编号为3的数据位与编号为1和2的校验位有关


然后逆向来关注校验位,


a(也即编号为1的校验位)与 编号为 3,5,7,9,的数据位有关,则 a=d3^d5^d7^d9(^是异或运算的意思)=1^0^1^0=0


同理:


b(也即编号为2的校验位)与 编号为 6,7,10的数据位有关,则 a=d6^d7^d10=1^1^1=1


c(也即编号为4的校验位)=d5^d6^d7=0^1^1=0


d(也即编号为8的校验位)=d9^d10=0^1=1


求出a,b,c,d 后就可以得到编好的海明码了


结果是:0110011101

相关文章
|
7月前
|
数据安全/隐私保护
【Leetcode -796.旋转字符串 -804.唯一摩尔斯密码词】
【Leetcode -796.旋转字符串 -804.唯一摩尔斯密码词】
27 0
|
3月前
|
算法
刘谦春晚纸牌魔术背后的数学—海明码原理简介
刘谦春晚纸牌魔术背后的数学—海明码原理简介
|
2月前
|
传感器 C++
计算机网络:数据链路层之差错控制、奇偶校验码、CRC循环冗余码、海明码
计算机网络:数据链路层之差错控制、奇偶校验码、CRC循环冗余码、海明码
|
11月前
|
存储
蓝桥杯-明码
蓝桥杯-明码
37 0
<<计算机网络>>差错控制---奇偶效验码/循环冗余码ORC/海明码
<<计算机网络>>差错控制---奇偶效验码/循环冗余码ORC/海明码
134 0
<<计算机网络>>差错控制---奇偶效验码/循环冗余码ORC/海明码
|
数据安全/隐私保护 索引
力扣刷题记录——804. 唯一摩尔斯密码词、806. 写字符串需要的行数、824. 山羊拉丁文
力扣刷题记录——804. 唯一摩尔斯密码词、806. 写字符串需要的行数、824. 山羊拉丁文
力扣刷题记录——804. 唯一摩尔斯密码词、806. 写字符串需要的行数、824. 山羊拉丁文
已知数据信息为 16位,最少应附加( )位校验位,以实现海明码纠错。
已知数据信息为 16位,最少应附加( )位校验位,以实现海明码纠错。
375 0