二进制模2除法(CRC循环冗余检验)

二进制模2除法(CRC循环冗余检验)一、二进制模2除法运算规则被除数为1则商为1,被除数为0则商为0;余数去掉首位为新的被除数;新的被除数以0开头,则除数变为全0,以1开头则除数不变;二、举例101001000/1101…

大家好,欢迎来到IT知识分享网。

一、二进制模2除法运算规则

  • 被除数为1则商为1,被除数为0则商为0;
  • 余数去掉首位为新的被除数;
  • 新的被除数以0开头,则除数变为全0,以1开头则除数不变;

二、举例

101001000 / 1101
二进制模2除法(CRC循环冗余检验)

三、CRC循环冗余检验

1、 符号

符号 解释
k 要发送的数据的比特位数
M 要发送的原始数据
冗余码位数
P 除数
Q
R 余数

2、过程

  • 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送,即发送的数据长度为k+n位。

  • 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0

  • 得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R 是 n 位。

3、举例

k=6	 M=101001  n=3  P=1101

那么得到被除数( M 后面添加 n 个 0)为101001000,除数为1101,进行二进制模2除法运算,结果为商 Q=110101余数 R=001(过程参考上面的二、

把余数 R 作为冗余码添加在数据 M 的后面发送出去。
因此发送的数据为101001001,共(k+n = 9)位。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21066.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信