校验码

计算机基础:校验码

码距:任意(所有)两个码子的最小距离;

1111与0000码距为4

0000与1100码距为2

奇偶检验码:

奇校验:在数据为本身增加一位0,将数据位中1的个数变为奇数

偶校验:在数据为本身增加一位1,将数据位中1的个数变为偶数

只能发现奇数个位出错的情况

海明码:奇偶校验、分组校验,能够显示哪一个数字错了。

检验位的位置:2的n次方的位置上。

设数据位是n,校验位是K位,则:

这个很重要,考试会出的。

例:校验一个32位长的数据,需要的检验位是几位?

当k=1时:,显然不成立;

当k=2时,,显然不成立

当k=3时,,显然不成立

当k=4时,,显然不成立

当k=5时,,显然不成立

当k=6时,,成立

所以当K=6的时候聚就可以了,所以需要6位检验位。

当k>6的时候都成立,但是只取最小的就可以了!!!

循环冗余校验码: 

例如:,信息码为10111,则CRC校验码是多少?

  1. 将X替换为2,得到,所以如下:,在其中相同的数据为1,没有的为0,得到10011;
  2. 用不进位加法表示进行运算:

除数为:101110000,多项式的最高次幂为几,就添加几个0;

被除数为1中得到的10011

3.运算

 

注意在计算的时候采取的是不进位加法(1+1=0,不向上一位进1)。如果最高次幂为n,则在相加后保留n-1位(这一块我感觉是这样,但是有没有依据就不清楚了)

得到余数就是校验码:1100

4.用上一步的到的余数替换除数尾数增加的四个0,得到的新的数据位为:101111100

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值