奇偶校验码、循环冗余校验码是什么?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/skyejy/article/details/80939972

为什么有校验码的存在?
计算机系统运行时,各个部之间要进行数据交换.交换的过程中,会有发生误码的可能(即0变成1或1变成0),由于计算机的储存是通过二进制代码来实现的的,误码会导致储存的内容发生改变。为确保数据在传送过程正确无误,常使用检验码。

一、奇偶校验码

奇偶校验码是奇校验码和偶校验码的统称. 它们都是通过在要校验的编码上加一位校验位组成。

如果是奇校验加上校验位后,编码中1的个数为奇数个。如果是偶校验加上校验位后,编码中1的个数为偶数个。

校验方法

奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数
1000110(0)你必须添0。原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。

偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数
1000110(1)你必须加1。原来有3个1要想1的个数为偶数就只能再添加1。

二、循环冗余校验码
用到了模2除
按照模2减求部分余数
(模2加减规则:
0+1=1;0-1-1;0+0=0;0-0=1;1+0=1;1-0=1;1+1-0;1-1=0)
每求一位商应使部分余数减少一位。上商的原则是:当部分余数的首位是1时,上商1;当部分余数的首位为0时,上商0。当部分余数的位数小于除数的位数时,该余数即为最后余数。
例题:这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/skyejy/article/details/80939972