社区
汇编语言
帖子详情
循环冗余校验码
tongqiong0209
2011-08-15 06:08:28
假定被检验的数据M(x)=1000,其选择生成多项式为G(x)= x3(x的3次幂)+x+1,该数据的循环冗余校验码应为( )
怎么做?
...全文
476
11
打赏
收藏
循环冗余校验码
假定被检验的数据M(x)=1000,其选择生成多项式为G(x)= x3(x的3次幂)+x+1,该数据的循环冗余校验码应为( ) 怎么做?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
abee23
2011-08-18
打赏
举报
回复
[Quote=引用 7 楼 tongqiong0209 的回复:]
其他部分都看懂了,你的那张图片为什么不是这样
http://hi.csdn.net/space-6337695-do-album-picid-892882.html
二进制的相除是不是不用理会进位,只要対应位相减就行
我才开始学,很多概念不是很清楚。说完这个问题就结贴,谢谢了!
[/Quote]
lz搞定了吧?
上面的除法是“模二除法”,也就是计算的时候,对应的两个位是进行异或运算的,两个位不一样则结果是1.
最后就搞出那个余数了。
然后把计算出来的余数,添加到真实数据的后面,LZ可以再算一下余数变为0了。
abee23
2011-08-18
打赏
举报
回复
[Quote=引用 7 楼 tongqiong0209 的回复:]
其他部分都看懂了,你的那张图片为什么不是这样
http://hi.csdn.net/space-6337695-do-album-picid-892882.html
二进制的相除是不是不用理会进位,只要対应位相减就行
我才开始学,很多概念不是很清楚。说完这个问题就结贴,谢谢了!
[/Quote]
LZ搞定了吗? MS楼主不怎么清楚是怎么“除”的呀!
我回去看看了,这个“除法”是有名堂的!,叫 ”模二除法“,也就是除数与被除是进行异或运算的!
两个二进制位进行异或运算就是==如果不相同,则结果为1.
上面那个图片就是这样画出来和咯。
abee23
2011-08-17
打赏
举报
回复
[Quote=引用 7 楼 tongqiong0209 的回复:]
其他部分都看懂了,你的那张图片为什么不是这样
http://hi.csdn.net/space-6337695-do-album-picid-892882.html
二进制的相除是不是不用理会进位,只要対应位相减就行
我才开始学,很多概念不是很清楚。说完这个问题就结贴,谢谢了!
[/Quote]
这个不是真的二进制除法呀!只是手动计算是,看其来像是在做除法!
其实是上下位不一样是为1,其他为0.
至到计算出余数,也就是那个循环冗余校验码。
LZ看看 CRC原理 这个就是CRC检测用的 循环冗余校验码呀! 没记错的话。
呵呵。
tongqiong0209
2011-08-17
打赏
举报
回复
tongqiong0209
2011-08-17
打赏
举报
回复
其他部分都看懂了,你的那张图片为什么不是这样
http://hi.csdn.net/space-6337695-do-album-picid-892882.html
二进制的相除是不是不用理会进位,只要対应位相减就行
我才开始学,很多概念不是很清楚。说完这个问题就结贴,谢谢了!
大熊猫侯佩
2011-08-17
打赏
举报
回复
这个楼主找本体系结构的书,自己看一下即可。
没什么难度。
abee23
2011-08-16
打赏
举报
回复
LZ看出是怎么进行“除法“了的吧?
没得错就是这个样了的。。。
abee23
2011-08-16
打赏
举报
回复
LZ看出是怎么进行“除法“了的吧?
没得错就是这个样了的。。。
abee23
2011-08-16
打赏
举报
回复
循环冗余校验码的长度与生成多项式有关!
上面的生成多项式其实就是1011=1^3+0^2+1^1+1^0
有了 生成多项式长度 后! 就能确定最终循环冗余校验码的长度!
设生成多项式的值为p=1011 (二进制),那么 循环冗余校验码的长度n=3
于是可以进行 循环冗余校验码 的计算了!
循环冗余校验码 的作用是添加到真实数据的后面,与真实数据一起发送出去!在接收端则用接收的数据与生成多项式的值运算,这个运算同时可以在发送端计算出 循环冗余校验码的
计算前;
给真实数据的后面添加 (循环冗余校验码的长度n)个二进制0 ,上面n=3!
于是 用于计算 循环冗余校验码 的数据为;data= 1000 000 {前面4位是真实数据,后面是临时填充的000,目的是计算出 循环冗余校验码}
于是把data=1000 000看做是被除数,把p=1011看作是除数!
用 data 除以 p 得到的余数就是 循环冗余校验码!
最后再发送数据的时候把 循环冗余校验码 添加到真实数据的后面! 上面计算出的 循环冗余校验码=101
于是发送的数据为; 1000 101
接收端接收数据后,用同样的方法把接收的数据与 p=1011 运算( 同样上面 用 data 除以 p 得到的余数的方法)
如果结果余数是 0 ,则表明数据是完整的啦! 否则就是表明数据在传输过程中出现了”位“的差错啦、。
至于计算这个 “用 data 除以 p 得到的余数”
这个用文字说起来对我来说有点难度!
我用图片表达一下:应该看了清楚吧。
tongqiong0209
2011-08-16
打赏
举报
回复
能不能再讲得详细点
而循环冗余校验码的长度=3 这个是怎么来的?
abee23
2011-08-16
打赏
举报
回复
没有记错!
那个生成多项式=1011
而循环冗余校验码的长度=3
循环冗余校验码=101
然后带上了循环冗余校验码的数据就是=1000101
另一边则用这个带上了循环冗余校验码的数据与1011运算,余数全为0则表示数据完整 !
这个算法叫做 **模2**什么的。。。。
循环冗余校验码
原理及例题
在串行传送(磁盘、通讯)中,广泛采用
循环冗余校验码
(CRC)。CRC也是给信息码加上几位校验码,以增加整个编码系统的码距和查错纠错能力。 本文介绍了
循环冗余校验码
的基本原理,内含例题。
这是一个计算CRC
循环冗余校验码
的工具
CRC校验计算速度快,检错能力强,易于用编码器等硬件电路实现。从检错的正确率与速度、成本等方面,都比奇偶校验等校验方式具有优势。因而,CRC 成为计算机信息通信领域最为普遍的校验方式。常见应用有以太网/USB通信,压缩解压,视频编码,图像存储,磁盘读写等。 CRC校验数据帧,数据帧包括帧头、数据、校验位、帧尾。其中CRC校验的是除了帧尾外的数据,校验其正确性,这是一个简单的CRC工具,无需用代码去自行计算CRC,便于程序员在写代码时候验证接收和发送的CRC是否正确。
CRC(
循环冗余校验码
)校验工具
循环冗余校验码
是数据通信领域中最常用的一种差错校验码.modbus规约经常用到
crc
循环冗余校验码
c#编写,crc
循环冗余校验码
,包括信息发送,生成校验码,随机干扰,消息接收,校验。运行通过!
C# CRC 循环冗余校验算法
C# CRC 循环冗余校验算法,包含8位 16位 32位 三种校验算法。 本例直接简单易懂,通过点击按钮直接 产生字符串“ABCD”的CRC32校验码“DB1720A5”,并将校验码显示在下面的文本框中。
汇编语言
21,497
社区成员
41,618
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章