奇偶校验码原理及实现逻辑图 海明码

1.奇偶校验码是奇校验码和偶校验码的统称,是一种最基本的检错码。它是由n-1位信息元和1位校验元组成,可以表示成为(n,n-1)。如果是奇校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为奇数个;如果是偶校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为偶数个。

奇偶校验码原理及实现逻辑图 海明码_第1张图片

奇偶校验码原理及实现逻辑图 海明码_第2张图片 

 2.海明码是奇偶校验的一种扩充。它采用多位校验码的方式,在这些校验位中的每一位都对不同的信息数据位进行奇偶校验,通过合理地安排每个校验位对原始数据进行校验位组合,可以达到发现错误,纠正错误的目的。海明码是一种可以纠正一位差错的编码。

①计算方法:

设数据位是n位,校验位是k位,则n和k必须满足关系: 2ᵏ-1>=n+k

②举例:

设数据为01101001,求海明码。

设有数据为8位,那么 2⁴-1=15>8+4=12,则校验位为4位,即这个海明码长12位

D7D6D5D4D3D2D1D0=01101001;

P0=2⁰=1,P1=2¹=2,P2=2²=4,P3=2³=8;

P0=D0⊕D1⊕D3⊕D4⊕D6=1⊕0⊕1⊕0⊕1=1

P1=D0⊕D2⊕D3⊕D5⊕D6=1⊕0⊕1⊕1⊕1=0

P2=D1⊕D2⊕D3⊕D7=0⊕0⊕1⊕0=1

P3=D4⊕D5⊕D6⊕D7=0⊕1⊕1⊕0=0

则海明码为011001001101

你可能感兴趣的:(java)