当前位置: 首页 > news >正文

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

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

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 

 

http://www.lryc.cn/news/269318.html

相关文章:

  • 第P8周:YOLOv5-C3模块实现
  • Java中常见的日志包分析(Log4j、Logback、SLF4J等)
  • C++系列-第1章顺序结构-3-输出类cout
  • 对于智能设备的一些设想1
  • Large-Precision Sign using PBS
  • 【电商项目实战】MD5登录加密及JSR303自定义注解
  • 2014,TEVC,A competitive swarm optimizer for large scale optimization(CSO)
  • 【机器学习】【线性回归】梯度下降
  • JMeter逻辑控制器之While控制器
  • 记录 Docker 外部访问的基本操作
  • 【Android 13】使用Android Studio调试系统应用之Settings移植(六):BannerMessagePreference
  • Python 变量
  • ComfyUI如何中文汉化
  • Glary Utilities Pro - 电脑系统优化全面指南:详尽使用教程
  • 1.4分页和排序
  • Modbus转Profinet,不会编程也能用!轻松快上手!
  • 鸿蒙原生应用/元服务开发-Stage模型能力接口(十)下
  • QT QPluginloader 加载失败,出现Unknown error 0x000000c1的问题
  • 众和策略:今年首次!A股罕见一幕
  • EasyExcel实现动态表头(注解实现)
  • 什么是工厂方法模式,工厂方法模式解决了什么问题?
  • Flink 输出至 Elasticsearch
  • web三层架构
  • 智能优化算法应用:基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 写在2023年末,软件测试面试题总结
  • 51系列--数码管显示的4X4矩阵键盘设计
  • 医院绩效考核系统源码,java源码,商业级医院绩效核算系统源码
  • JavaScript基础练习题(五)
  • flutter项目从创建到运行,以及一些常用的命令
  • 【Amazon 实验②】Amazon WAF功能增强之使用Cloudfront、Lambda@Edge阻挡攻击