如何计算以下位序列的奇偶校验位?

networking parity hamming-code

40661 观看

4回复

顺序是:

00111011

如何计算上述序列的奇偶校验位?这个问题来自数据库 - 杰弗里·厄尔曼的完整着作(练习13.4.1 a

我不确定这个问题的答案应该是什么。

它是如此简单:

i)偶数奇偶校验:1的数量是5(奇数)所以只需追加1,答案是:001110111

ii)奇数奇偶校验:同样,只需追加0:001110110

要么:

我在这里走错了路吗?我抬头看网,但找不到任何具体的东西。此外,教科书中上述问题的文字也不清楚。

作者: Nikhil 的来源 发布者: 2019 年 5 月 29 日

回应 (4)


9

决定

是的,你的答案是正确的。对于给定的序列,

00111011

奇数奇偶校验为001110110,奇偶校验位为零,因此代码中的1的总数为5,这是奇数。

偶数奇偶校验是001110111,奇偶校验位是1,因此代码中的1的总数是6,这是偶数。

作者: Deepu 发布者: 23.03.2013 08:00

2

unsigned char CalEvenParity(unsigned char data)
{
unsigned char parity=0;

while(data){
        parity^=(data &1);
        data>>=1;
            }
return (parity);
}
作者: HarpalNain 发布者: 23.07.2016 05:03

1

你也可以使用XOR ie; 00111011

0XOR0=0
0XOR0=0
0XOR1=1
1XOR1=0
0XOR1=1
1XOR0=1
1XOR1=0
0XOR1=1

,最后一位是奇偶校验位; 1表示偶校验,0表示奇校验。你应该把这个位设为原始数字(00111011)的LSB,从而成为(001110111)。

作者: Kamalnice4206829 发布者: 02.11.2014 06:35

0

def pairity_val(x):

pairity=0
while x>>1:
 pairity =  (x & 1)^ ((x >>1) & 1)
 x = x>> 1
return pairity

替代实施平价

作者: Raghav 发布者: 16.02.2019 01:56
32x32