前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

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

qiguaw 2024-09-08 06:38:32 资源文章 18 ℃ 0 评论

在我们日常生活当中,我们可以使用正号、负号来表示数据的正负。如+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,就代表数据没有出错,或者出现了偶数个错。

不知道大家学会了么?我是十月,关注我,了解更多计算机知识。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表