【MVS】循环冗余校验码(CRC)的计算方法
循环冗余校验码(Cyclic Redundancy Check,CRC)的计算方法是通过二进制除法来生成校验码。计算步骤如下:
选择生成多项式: 首先需要选择一个生成多项式,通常用一个二进制数表示。生成多项式的位数决定了CRC的位数。常用的生成多项式包括CRC-8、CRC-16和CRC-32等。
数据填充: 将要进行校验的数据进行处理,添加一定数量的0(填充位)到数据的末尾,填充的位数等于生成多项式的位数减1。填充的目的是为了使得数据的位数和生成多项式的位数相同,从而进行除法运算。
除法运算: 通过二进制除法运算,将填充后的数据除以生成多项式,得到的余数作为校验码。除法运算过程中采用的是模2除法(即异或运算),按位地从左到右进行操作。
附加校验码: 将计算得到的CRC码附加到原始数据之后,形成带有校验码的数据。
下面通过一个具体的案例来演示CRC的计算过程:假设要计算一个8位CRC校验码,生成多项式为1011,数据为11010010。
选择生成多项式: 生成多项式为1011。
数据填充: 数据为11010010,填充3个0,变为11010010000。
除法运算: 按位进行除法运算,从左到右进行异或运算。
附加校验码: 得到的余数为11,将它附加到原始数据的末尾,形成带有校验码的数据11010010011。
在接收方,使用相同的生成多项式进行除法运算,如果得到的余数为0,则认为数据传输没有错误。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作