`
isiqi
  • 浏览: 16497228 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

循环冗余校验码CRC,求解步骤

阅读更多

循环冗余校验码CRC,是软考-计算机组成原理 中一种重要的编码。

下面只是简要描述求解CRC码的解题步骤,面向有一定理论基础的朋友。

直接看例题。

例、信息位: 10100110 生成多项式:clip_image002

解:

clip_image004.

方法:根据二进制转换为十进制的方法,由信息位clip_image006 得到C(x)多项式,将x=2带入则会得到clip_image006 的十进制表示值。

clip_image008

方法:得到移位后的多项式 clip_image010,根据生成多项式a(x) 并将转换为二进制形式,即 clip_image012,共6位,则R=6-1=5 (不解释,你懂的…)

求余式为 clip_image014,即校验码为 clip_image016

clip_image018clip_image020

方法:用移位后的多项式与生成多项式做除法

个人认为这种多项式除法要比模2除法易于记忆(只不过是将模2除法转换了一种表示方法罢了),这种除法,只是将上下(比较之后) 相同的项一并消除,不同的项保留到下一级,以此循环,直至新生的多项式的最高次小于被除多项式的最高次 为止。如是,得到CRC码中的校验码。

得到CRC码为,信息码+校验码 = 1010011011000

记住这种解码方法,CRC码不难。

分享到:
评论

相关推荐

    海明码和CRC编码的图解和详细计算过程.pdf

    海明码(Hamming Code)和循环冗余校验(Cyclic Redundancy Check,简称CRC)是两种重要的错误检测和纠正技术。海明码主要用于错误的检测和纠正,而CRC则主要用于错误检测。以下将详细解释海明码和CRC编码的图解和...

    2003年度网络设计师上午试题

    局域网中常用的校验方法是循环冗余校验(CRC,Cyclic Redundancy Check)。CRC 校验通过计算数据的二进制多项式与生成多项式进行异或运算,得到的余数即为校验码。如果接收端发现校验错误,通常采取的措施是自动请求...

    C#串口调试助手

    此外,它还支持求解校验码,如CRC(循环冗余校验)、奇偶校验等,这些校验码在通信中用于检测数据传输的错误,确保数据的完整性和准确性。通过这些辅助功能,用户可以快速验证数据的正确性,减少因数据错误导致的...

    常用C语言算法大集合

    CRC(Cyclic Redundancy Check)循环冗余校验是一种常用的错误检测方法,在通信领域和数据存储系统中广泛应用。其原理是通过生成一个校验码来检测数据传输过程中的错误。 #### 2. CRC算法代码解析 给定的代码实现了...

    (完整word版)河北大学计算机网络课后习题答案网络答案.doc

    最后,问题18和19涉及到了纠错编码,特别是循环冗余校验(CRC)。CRC通过生成多项式对信息位进行除法运算来检查数据错误。问题18给出了一个余数计算的例子,余数是111;问题19则描述了如何生成CRC码字并进行比特填充后...

    2008年下半年软件设计师考试大纲

    - 校验方法:学习奇偶校验码、海明校验码和CRC(循环冗余校验码)等错误检测方法。 2. 数学基础知识: - 逻辑运算:理解逻辑代数和逻辑表达式的简化。 - 数值计算:涉及误差分析、矩阵运算、近似方程求解、插值...

    NAND+Flash控制器的BCH编译码器设计

    - **Chien搜索(ChienSearch)**:确定具体错误比特位的位置,通常采用循环冗余校验(CRC)技术辅助定位。 - **纠错(ErrorCorrect)**:根据错误位置信息,修复受损数据。 #### 并行与流水线优化 为了提高BCH码的...

    计算机软件工程师考试.pdf

    - **校验方法和校验码**:学习如何使用奇偶校验码、海明校验码和CRC(循环冗余校验码)来检测传输或存储数据中的错误。 2. **数学基础知识** - **逻辑运算和表达式化简**:理解逻辑代数的基本运算,简化逻辑...

    command-command.rar_串口调试_工具条

    描述提到“串口调试帮手,可以连续发送多个命令以及求解命令的CRC,BCC”,这暗示了该工具具有高级功能,能够帮助用户不仅发送单个命令,还能进行连续命令的发送,并且支持校验和计算,如CRC(循环冗余校验)和BCC...

    alg.rar_alg_processing

    "Crc.ASM"文件很可能是关于循环冗余校验(CRC)的实现。CRC是一种常用的错误检测码,广泛应用于数据通信和存储系统中,用于检测传输或存储过程中可能出现的错误。 "record.asm"可能是关于记录管理和数据结构的代码...

    香农编码软件

    5. **错误检测与纠正**:为了提高传输的可靠性,通常会在编码过程中加入检错码,如奇偶校验位、循环冗余校验(CRC)等,以便在接收端检测并纠正可能的传输错误。 香农编码软件,如您提供的"香农编码软件",应该包含...

    嵌入式系统软件设计中常用的算法

    常见的检错纠错算法有奇偶校验、海明码、循环冗余校验(CRC)等。 以上这些算法是嵌入式系统软件设计的基础,能够帮助开发人员处理各种常见的技术问题。由于嵌入式系统的特殊性,对算法的选择和实现提出了特定的...

    软考数据库复习资料

    2. **校验码辅导讲座.doc**:这部分内容可能涵盖错误检测和纠正的校验码技术,如奇偶校验位、CRC(循环冗余校验)或更高级的纠错编码,如汉明码和RAID(冗余磁盘阵列)系统的应用。 3. **数据流图.doc**:数据流图...

    C51-JJWT.rar_c51 industrial_工业控制

    1. **数据校验**:通过添加CRC(循环冗余校验)或其他校验码,可以在接收数据时检查错误,确保数据的完整性。 2. **中断处理**:合理设计中断服务程序,避免中断嵌套过深或中断响应时间过长导致的问题。 3. **程序...

    2008年11月份软件设计师考试大纲

    - **校验方法**:学习奇偶校验码、海明校验码和CRC(循环冗余校验)码,用于检测数据传输错误。 2. **数学基础知识** - **命题逻辑和谓词逻辑**:理解逻辑运算的基本概念,为理解算法设计和数据结构奠定基础。 -...

    2020秋季学期《计算机网络》期末试卷.pdf

    1. 循环冗余码(CRC):CRC是一种用于检测数据传输错误的校验码,它能够检测出大多数数据传输中的突发错误。描述中提到CRC的检错能力取决于生成多项式,这是正确的,因为CRC的计算基于一个特定的生成多项式,这个...

    曼彻斯特编码详解

    4. **易于实现数据完整性检查**:曼彻斯特编码通常与CRC(循环冗余校验)一起使用,能够有效地检测出传输过程中的错误。 #### 三、曼彻斯特编码的工作原理 曼彻斯特编码的基本思想是在每个比特的时间间隔内,用一...

    android多项式求乘法逆元小软件源码

    - **错误校验码**:如CRC(循环冗余校验)利用了多项式的乘法逆元来检测数据传输错误。 - **数字信号处理**:在滤波器设计中,多项式的乘法逆元可以帮助计算逆滤波器。 总之,这个源码提供了一种在Android环境下...

    计算机网络--第二次作业--是满分的喔

    - **定义**:循环冗余校验(CRC)是一种基于二进制多项式的错误检测算法,常用于数据传输的错误检测。 - **例题解析**:题目中给出的二进制序列`0111010111001001`,使用多项式`x^3 + x + 1`进行CRC校验,需要在序列...

Global site tag (gtag.js) - Google Analytics