您现在的位置是:首页 > 智能机电

计算机中的数据表示和运算2--奇偶校验码

智慧创新站 2024-11-09【智能机电】168人已围观

简介在我们日常生活当中,我们可以使用正号、负号来表示数据的正负。如+8,-5等等,这些带“+”“-”符号的数,我们都称之为真值。真值就是这个数字所代表的实际值。在计算机中,数据该如何表示呢?常用的有原码、补码和反码表示法。这几种表示方法,都将数据的符号数字化。通常用“0”表示正,用“1”表示负。如0,1...

在我们日常生活当中,我们可以使用正号、负号来表示数据的正负。如+8,-5等等,这些带“+”“-”符号的数,我们都称之为真值。真值就是这个数字所代表的实际值。

在计算机中,数据该如何表示呢?

常用的有原码、补码和反码表示法。这几种表示方法,都将数据的符号数字化。通常用“0”表示正,用“1”表示负。如0,101就表示+5(这里的逗号其实并不存在,仅仅用于区分符号位和数据位)。像这样,把符号数字化的数据成为机器数。

在计算机的传输过程中,难免会因为种种原因产生传输错误,这样,我们得到的信息就是错误的信息了,我们该如何避免这样的事情发生呢?

今天我们来学习第一种较为简单的校验码--奇偶校验码。

奇偶校验码实现的方式,就是在原编码上增加一个检验位,可以使整个编码中“1”的个数为奇数或者偶数。如图:


图中“奇偶校验位”中可填的数据为“1”或者“0”。可以得到两种可供选择的校验规律。

​奇​校验码:整个校验码(包含奇偶校验位和有效信息位)中的“1”的个数为奇数。

​偶​校验码:整个校验码(包含奇偶校验位和有效信息位)中的“1”的个数为偶数。

例题:给出两个编码1001100和1100111的奇校验码和偶校验码。

解:最高位为校验位,余下7位是信息位,则对应的奇偶校验码是:

1001100​​​​​01001100(​奇​校验)​​11001100(偶校验)

1100110​​​​​11100110(​奇​校验)​​01100110(偶校验)

这样大家学会了么?

最后我们再给出奇偶校验的检错原理:

假设一个二进制编码:abcde

我们给出一个奇偶校验位S,则:

奇校验:S⊕a⊕b⊕c⊕d⊕e=1

​偶​校验:S⊕a⊕b⊕c⊕d⊕e=0

(⊕表示的是异或操作,两个数相同的话,得到的结果就是0,不同的话,得到的结果是1.如1⊕0=1,1⊕1=0)

奇校验有奇数个1,所以最后异或得到的结果如果是1,就代表数据没有出错,或者出现了偶数个错。

​偶​校验有​偶​数个1,所以最后异或得到的结果如果是0,就代表数据没有出错,或者出现了偶数个错。

很赞哦!(197)