汉明或奇偶校验位计算的算法?

时间:2014-12-03 15:55:00

标签: java algorithm networking error-correction hamming-code

我正在尝试编写一个程序来查找java中的汉明码,但是对于汉明码的计算有一点点混淆,

以下是大多数教程所说的,

示例:对于n比特消息,比如8比特消息,我们要求k = 4奇偶校验或汉明比特位于2的幂位置(从右到左编号为1到k + n),见下面的例子

8 bit message =11000100 
k=4

因此

Bit position         12   11  10   9    8     7     6   5    4   3    2    1
                     d     d   d   d    P8    d     d   d   P4   d    P2   P1  

其中P1 ... P4是奇偶校验位

接下来,为了计算奇偶校验位的值,指令告诉我盲目地执行此操作

Each parity bit is calculated as follows:

    P1 = XOR of bits (3, 5, 7, 9, 11)   =   1⊕1⊕0⊕0⊕0 = 0
    P2  =XOR of bits (3, 6, 7, 10, 11) =   1⊕0⊕0⊕1⊕0 = 0
    P4  =XOR of bits (5, 6, 7, 12)      =   1⊕0⊕0⊕0 = 1
    P8  =XOR of bits (9, 10, 11, 12)   =   0⊕1⊕0⊕0 = 1

有没有一些方法可以做到这一点,或者我应该记住这个?根据他们到达XOR(3,5 ...等)的内容。某种算法呢?

注意:要编写一个Java程序来查找任何n位数的汉明码,我需要对此进行解释,所以我希望这个问题符合Stack-overflow的要求

0 个答案:

没有答案