循环冗余效验码的计算方法

循环冗余效验码的计算方法

G(x):

在了解计算方法之前我们首先要明白G(x)表明的意思,这一步非常重要!

例如,G(x) = x^3 + x^2 + 1 ,该式子表明的编码是 1101 ,其中 1 可以转化为 x^0 ,随后从0开始,这一段编码的个数是 0~3 总共 4 个数字,这些数字只能用0和1表示。

而在 序号是3、2、0的位置上,它们用数字1表示,而其他的则是数字0表示。

T(x):

T(x) = M(x) + M(x)/ G(x)

具体步骤如下:

注意事项:

  1. 在得到信息码M(x)后,与G(x)进行的并不是除法运算,而是进行二进制的异或运算
  2. 其次,在进行异或运算的过程中,每次运算的开头必须是1开头,且要凑满G(x)的数字个数进行运算
  3. 第三,在运算完以此异或运算后,开启下一次运算前需要将M(x)未进行运算的数字往下拉,且根据第二条注意事项,遵循拉满写1,未拉满写0,这些都是写在商的位置上的。
  4. 第四*,也是在进行运算的第一步!补0!根据G(x)的项中,最高的次幂数字进行补0,如上图G(x)的最高次幂数字是3,所以需要在M(x)的后面进行补三个0才开始运算。***
  5. 最后,当不能再进行运算后,得出的最后的'余数'就是需要添加到M(x)末尾使得M(x)变成T(x)的编码,++当然这些编码可能会很长,所以我们要选取这段编码,而选取编码的数字个数是从右往左,且编码的个数和补了多少个0有关,例如上图,最后的编码选取了三位,因为补了三个0++

相关推荐
不穿格子的程序员2 小时前
计算机网络篇2:从可靠性保障到粘包拆包实战
计算机网络
CS创新实验室12 小时前
《计算机网络》深入学:随机访问
网络·计算机网络·考研·408·随机访问
君鼎12 小时前
计算机网络第六章:应用层详细学习总结
计算机网络
SomeBottle1 天前
【小记】解决校园网中不同单播互通子网间 LocalSend 的发现问题
计算机网络·go·网络编程·学习笔记·计算机基础
小李独爱秋1 天前
计算机网络经典问题透视:狭义与广义IP电话的深度解析及连接方式全览
网络·tcp/ip·计算机网络·信息与通信·ip·电话
技术性摸鱼1 天前
计算机网络-DAS,SAN,NAS,SCSI
计算机网络
CS创新实验室1 天前
《计算机网络》深入学:信道划分
计算机网络·考研·408·信道划分
蜂蜜黄油呀土豆1 天前
深入理解计算机网络中的应用层协议
网络协议·计算机网络·http
那我掉的头发算什么2 天前
【javaEE】计算机网络数据链路层深度剖析与DNS域名系统
运维·服务器·网络协议·计算机网络·dns
小李独爱秋2 天前
计算机网络经典问题透视:IP电话的通话质量与哪些因素有关?
服务器·开发语言·网络·网络协议·tcp/ip·计算机网络