1

我正在尝试编写一个程序来在 java 中查找汉明码,但对汉明码计算有一点困惑,

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

示例:对于位消息,例如 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

4

0 回答 0