文档章节

计算机体系结构(三)——循环冗余校验

白志华
 白志华
发布于 2015/10/18 10:57
字数 638
阅读 8
收藏 0
    在校验码体系中,有各种校验的方法:有奇偶校验、海明码校验、循环冗余校验。今天就跟大家共同探讨一下常用的循环冗余校验吧。

    循环冗余校验(CRC,Cyclic Redundancy Check),是最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。已经被广泛应用于网络通信即磁盘存储。

    多项式:一个二进制数可以用一个多项式来表示,如1011 表示为 x 3+x 1+x 。最高次幂n,可以转为长度为n+1的二进制数。

    CRC编码组成:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。

    生成多项式:编码方程除以信息码的多项式,得到余数多项式即为校验码,解码方程将接收到的信息除以生成多项式,若余数=0,则说明正确,反则,则传输出错,余数的大小即为错误位置。

    校验码的具体生成过程为:
        ①假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。
        ②移位后的信息 除以 生成多项式G(x)得到的余数多项式,可转为R位二进制。
        ③将余数嵌入到原信息的后面。
例如:信息位为10100110 , 生成多项式为a(x)= x 5+x 4+x+1
    则C(x)=a(x)* x 5 = (x 7+x 5+x 2+x)* x  =  x 12+  x 10 +x 7+x 6

 

    余数为x 4+x ,转为二进制为11000,所以CRC码为10100110110000 。

以上方法是用多项式来解的,现在我们换用二进制方式来试试。
    信息位为10100110 , 生成多项式为a(x)= x 5+x 4+x+1。
    则a(x)转换为二进制为110011,信息位左移 R位(即最高次幂+1=6位),即在信息为后补5个0 ,得10100110000000,再除以a(x)转换的110011,取R位余数,即6位。然后将余数嵌入到原信息的后面 。看图:

 
余数为110000,6位,正好,补充到信息位的后面为:10100110110000,跟上面的方法结果一致。
   

版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/7417547

共有 人打赏支持
白志华
粉丝 32
博文 265
码字总数 57524
作品 0
长沙
程序员
私信 提问
[现代编译原理C语言描述].(美国)Andrew.W.Appel.清晰版.pdf

【下载地址】 《现代编译原理:C语言描述》全面讲述了现代编译器的结构、编译算法和实现方法,是Andrew w.Apple的“虎书”——Modern Compiler Implementation——“红、蓝、绿”三序列之一。...

winter730
08/30
0
0
计算机网络基本概述

计算机网络基本概述一、 计算机网络硬件软件:实现资源共享、信息传递 二、 计算机网络的功能数据通信、资源共享、增加数据可靠性、提高系统处理能力 三、网络协议与标准1、协议:一组控制数...

王浩hh
01/01
0
0
【网络原理】第四章 数据链路层(二)

二、数据链路层的重要功能 (一)划分帧的边界(帧同步) ·方法一:字符计数法(面向字符) 在帧头用一个计数字段来表示整个帧中字符(包括自己)的个数。 工作方式:接收方接收到的第一个字...

xuan97916
2017/03/27
0
0
杭电计算机网络11选择题汇总

1.HDLC:面向比特的同步链路控制协议 2.TCP的“子类”:SMTP、Telnet(可以把利用远程主机资源)、Http UDP的“子类”:SNMP、FTP(TFTP) 3.使用2对5类无屏蔽双绞线:100BASE-TX 4.局域网的...

qq_36523667
01/11
0
0
OSI七层模型基础知识及各层常见应用

OSI七层模型基础知识及各层常见应用 OSI Open Source Initiative(简称OSI,有译作开放源代码促进会、开放原始码组织)是一个旨在推动开源软件发展的非盈利组织。OSI参考模型(OSI/RM)的全称...

水中月120
2013/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 哥们之间报恩的想法被上帝实现了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 小小编辑:推荐歌曲《消愁》 《消愁》- 毛不易 手机党少年们想听歌,请使劲儿戳(这里) @过遥 :周一的早上就应该用来补觉,太困了 周末不想...

小小编辑
15分钟前
10
3
MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
3
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
7
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
18
1
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部