我正在尝试编写一个程序来在 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