龙空技术网

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

十月星辰大海 72

前言:

眼前看官们对“c语言奇数个数偶数和”大体比较关切,小伙伴们都需要剖析一些“c语言奇数个数偶数和”的相关资讯。那么小编在网摘上搜集了一些有关“c语言奇数个数偶数和””的相关知识,希望朋友们能喜欢,姐妹们一起来学习一下吧!

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

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

标签: #c语言奇数个数偶数和 #for循环求1100偶数和 #奇偶校验算法c #c语言1100的奇数和 #奇偶校验表达式