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