CRC循环冗余码计算

2023-09-19 19:32:06

初步条件

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

                 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 

更多推荐

数据分析方法-对比分析和用户画像(文末送书)

🤵‍♂️个人主页:@艾派森的个人主页✍🏻作者简介:Python学习者🐋希望大家多多支持,我们一起进步!😄如果文章对你有帮助的话,欢迎评论💬点赞👍🏻收藏📂加关注+对比分析事出反常必有妖、没有对比就没有好坏如果单纯给你一个数字500或者-500,你可能两眼一懵,并不能得出什么有价值结论。那如果告诉你该公司是

【HarmonyOS】如何实现应用内引用HSP模块中ArkUI组件

【关键字】HSP开发、引入HSP模块中ArkUI组件【写在前面】在使用ArkTS开发HarmonyOS应用时,通常会定义一些公共组件或公共接口功能,此时可以将这些功能封装到HSP模块中,然后通过在HSP模块中导出组件或接口方式在其他模块中引用,可以实现应用内部代码与资源的共享。这里主要讲如何在entry模块中引用HSP

D. Boris and His Amazing Haircut

Problem-D-Codeforces问题描述:剪发,将数组a减为数组b,有m个剪刀,每个剪刀只可以用一次且可以在任意区间内剪发,将长度大于mi的减为mi。现在有m数组,数组元素是第i个剪刀可以剪到mi,问能否将a减为b。洛谷翻译:思路:一定是先减最长的,再减短的。在减的时候会将这个a数组渐渐减成多个数组,再对这些数

权限控制、Spring Security入门

权限控制认证和授权概念问题1:在生产环境下如果不登录后台系统就可以完成这些某些功能操作吗?答案显然是否定的,要操作这些功能必须首先登录到系统才可以。问题2:是不是所有用户,只要登录成功就都可以操作所有功能呢?答案是否定的,并不是所有的用户都可以操作这些功能。不同的用户可能拥有不同的权限,这就需要进行授权了。认证:系统提

【已解决】ModuleNotFoundError: No module named ‘torchnet‘

问题描述今天在复现Chinese-Chatbot-PyTorch-Implementation的时候出现了一些问题:包括且不限于ModuleNotFoundError:Nomodulenamed'torchnet',ModuleNotFoundError:Nomodulenamed'fire',ModuleNotFou

重磅!OpenAI将发布DALL·E 3,多模态ChatGPT来了!

9月21日凌晨,OpenAI在官网宣布,在今年10月份将通过API向ChatGPTPlus和企业版用户提供全新文本生成图片产品——DALL·E3。这意味着,ChatGPT在DALL·E3加持下将开启久违的多模态输出模式,用户通过文本就能直接在ChatGPT中生成各种类型图片。例如,在ChatGPT中输入,生成一只可爱的

UE5学习笔记(1)——从源码开始编译安装UE5

目录0.前期准备1.Gitbashhere2.克隆官方源码。3.选择安装分支4.运行Setup.bat,下载依赖文件5.运行GenerateProjectFiles.bat生成工程文件6.生成完成,找到UE5.sln/UE4.sln7.大功告成0.前期准备0.1在windows的话,建议装一个Gitbash,同时还要有

多线程并发或线程安全问题如何解决

1、通过volatile关键字修饰变量,可以实现线程之间的可见性,避免变量脏读的出现,底层是通过限制jvm指令的重新排序实现的,适用于一个线程修改,多个线程读的场景。2、通过synchronized锁(任意对象)来实现线程同步,自动锁的思想,底层实现原理:当又线程进入同步代码快之后,利用jvm的计数器将锁的标记位置为1

开学季ipad电容笔哪款好?便宜的电容笔推荐

随着数码产品不断地更新和添加新的特性功能,iPad的平板已经可以和笔记本电脑相媲美了。而时至今日,随着技术的进步,ipad已经不再是一款单纯的娱乐设备,而是一款集学习、绘画、办公于一体的功能。为提高生产力,搭配上一款好用的电容笔是很有必要的。随着苹果Pencil的普及,国产平板电脑也在迅速发展,下面我就为大家介绍几款高

抖音矩阵系统-60+自媒体平台一键发布-短视频获客系统

当老板做企业的,想在抖音上做生意的,一定一定要开通蓝V企业号线索版来做矩阵。看看我每天的线索都是999+,客服都接待不过来,现在还有300个客资未分配,抖音都在推了企业员工号的玩法,你还在质疑什么?在抖音上做矩阵,真的能将你的生意放大100倍!你只有一个账号,每天就发一条视频,而我们的客户有几百个账号,每天发上千条视频

软件需求文档、设计文档、开发文档、运维文档大全

在软件开发过程中,文档扮演着至关重要的角色。它不仅记录了项目的需求、设计和开发过程,还为项目的维护和管理提供了便利。本文将详细介绍软件开发文档的重要性和作用,以及需求分析、软件设计、开发过程、运维管理和项目管理等方面的文档要求。引言软件开发文档是一种用于记录、沟通和理解软件开发过程的工具。它不仅提供了软件的详细描述,而

热文推荐