码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CRC循环冗余码计算


    初步条件

    1.假设数据位有7位,为 101001

    D(初始) = 101001 

    2.假设给定约定多项式为4位,为1100,可求得阶级r为len(1100) - 1 = 4-1 = 3

    P(多项式) = 1100

    r = len(P) -1 = 4-1 = 3

    3.根据流程,计算过程中的数据位需要在末尾加上 第二步所求的阶级数数量的阿拉伯数字0,也是是加上三个0。

                     D(计算中的数据位) = 101001000

                                                                     

    计算过程

    那么可以写出计算式初始稿如下:

    我们先求第一位商,多项式有四位,我们就在D(计)的第四位上置放1

    (区别一.与普通除法的除不尽第一位为0不同,第len(P)位无条件放置1)

    然后像普通除法一样把除数沉下去,这一步在计算冗余码中是固定不变的,不受任何因素的影响,如图:

    接下来就是冗余码除法计算中区别于普通除法的第二个地方

    (区别二:普通除法的单过程取模是直接相减,但是在这里需要使用模2除,可以简单的理解为两两进行独立异或计算且不存在进位):

    演示

        a:1010

        b:1100

        c:待求

    这两数进行模2除的求解过程

    a为取模过程中的上位数,b为下位数 c为所求结果

    a[0] = 1, b[0] = 1  那么c[0]的结果为这两数的异或计算(相同为0不同为1) ,1异或1等于0,所以c[0] = 0

    a[1] = 0, b[1] = 1,所以c[1] =  1

    a[2] = 1, b[2] = 0,所以c[2] = 1

    a[3] = 0, b[3] = 0,所以c[3] = 0

    故 c = 0110 

         

    如下:

    发现 这一步的模运算结果为0110,前置的0我们需要进行忽略,那么实际上只有3位的110剩余,而3位不足以被四位的1100所除,这里可以像普通除法一样从上面拉下来一个数字

    发现满足要求可以继续除,那么继续在商处放置一个1(什么时候放0后面会讲到),且将1*1100的结果1100放置于平齐最后一步的的一个有效数字下:

    在进行异或计算,直到上面的商没位置即运算完成

    最后的结果0100即使我们所求的FCS余数:

    故最终所发数据应为 D(初) + FCS = 101001 + 0100   

    = 1010010100 

  • 相关阅读:
    常见面试题-JVM(一)
    安装elasticsearch
    【Go语言精进之路】构建高效Go程序:零值可用、使用复合字面值作为初值构造器
    [附源码]计算机毕业设计JAVA疫情环境下的酒店管理系统
    TI的单芯片毫米波雷达传感器配置命令是如何传递到DSP和ARM核的?(串口程序代码走读)
    云安全系列4:解析云安全工具集
    多尺度正余弦优化算法-附代码
    canal实现mysql数据同步
    面对“双十一”这样的大促,品牌方还能多做些什么?
    【Python大数据笔记_day10_Hive调优及Hadoop进阶】
  • 原文地址:https://blog.csdn.net/resphina/article/details/133041019
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号