模2除法运算得运算过程

模二除法_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
&&计算32位的CRC校验码,并显示计算过程
你可能喜欢posts - 214,&
comments - 21,&
trackbacks - 0
对于利用LFSR实现模2除法的原理,不解,找了很多资料,没有一个讲明白的,下面的一个算是有那么一点靠谱的,先记下来,以后有时间了沿着这个思路慢慢推导吧!
转自:http://www.elecfans.com/dianzichangshi/5.html
实现模2除法的线路
  循环校验码的核心逻辑线路是实现模2除的线路。按照前面介绍的方法,可将模2除的步骤分解归纳为两种操作:如果被除数或者余数最高位的值为0,直接将余数左移一位;如果被除数或部分余数最高位的值为1,用生成多项式G(x)作模2减,然后余数左移一位。
图2.2&实现模2除的逻辑图
  对前述用G(x)=1011产生(7,4)校验码的例子,可采用图2.2所示线路,产生3位的余数。图中的模2减用异或门实现,左移一位由移位寄存器实现;用异或门的输出控制左边一位寄存器的D输入端,可同时实现模2减和左移。用最左一位的取值控制是否做模2减,当其为1时,减去的数就是生成多项式G(x)=1011。这里,被除数D是逐位串行送到移位寄存器的,且由CP脉冲同步。
图2.3 实现G(x)=1011的线性(7,4)分组码模2除线路图
  由于G(x)固定不变,故G2可省去;只求三位余数,故G3和T0也失去意义。图2.2可简化为图2.3(a)。
对图2.3(a)的线路来说,在发送端,输入信息码D为1100,串行从低位送入,先左移三位形成1100000,再通过7步模2除,可在移位寄存器 T3&T2&T1&中得到余数010;在接收端,对7位的CRC码字1100010,执行7步模2除之后,若在
T3&T2&T1&得到000,表明CRC码字中无任何一位出错;若余数不为全0,可根据表2.4确定出错位置。
  设Ti为T3T2T1某触发器当前状态,Ti'为次态,可用次态方程表示图2.3(a)的模2除电路:
T2'=T3⊕T1&,
T1'=T3⊕D。
分别用被除数10000验证取得余数为010和011的工作过程,见表2.6。读者可用模2除竖式计算各步结果并与之比较。&
表2.6 图2.3(a)线路工作过程举例
信息码1100
信息码1010
  可以将图2.3(a)的线路稍加变化,即得到图2.3(b)的线路,用作为G(x)=1011的系统线性(7,4)分组码的编码线路。待编码信息D由高位端送入,CRC码由T送出。开始时,开关K1闭合,K2打到b位置,输入信息进入除法线路的同时送到T输出。经过4步之后,T3T2T1即为余数。然后,K1断开,K2打到a,T3T2T1只有移位功能,正好将余数拼接在信息码后经T送出。图2.3(b)中,开关K1闭合,K2打到b,T3T2T1及输出T可表达为:
T=b=D, T3'=T2&,
T2'&=T1⊕T3⊕D,
。 当开关K1断开,K2打到a,T3T2T1及输出T可表达为:
T=a=T3⊕D=T3(D为0),
T1'&=0。信息码为取得的CRC码10011的工作过程见表2.7。
表2.7 图2.3(b)线路编码过程举例
信息码1100
信息码1010
输入D TTT 输出T
输入D TTT 输出T
0  000  0
1  011  1
1  101  1
0  001  0
0  010  0
0  100  0
0  000  1
0  000  0
0  000  0
1  011  1
0  110  0
1  100  1
0  011  0
0  110  0
0  100  1
0  000  1
阅读(...) 评论()已解决问题
模2除法的运算过程是怎么样的
提问时间: 08:53:21
模2除法的运算过程是怎么样的
浏览次数:5025
该答案已经被保护
这个是做CRC校验的重点。我记得有这么点印象,但是两年前了。,生成校验码和验证只要按照公式翻译就可以了。好像是用异或而不是除,我的程序也早就没有了。以前做过C中有移位运算符。a%2即是对a进行模2运算。先把数位对齐:从低位到高位依次运算,&借一当二&:零零得零.④除法,同一数位不够减时.①加法.③乘法,1+1=10②减法,0+1=1,同一数位上只有四种情况,从高一位借位,&满二进一&,1+0=1,一一得一模2除法就是二进制除法:乘法口诀为,一零得零:0+0=0。推荐回答放狗屁,不学无术误人子弟的东西。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题"c语言模2加法运算怎么弄"的糗事
15456 好笑
你可能感兴趣:
糗事百科为大家收集了很多的c语言模2加法运算怎么弄的糗事,各种关于c语言模2加法运算怎么弄的爆笑经历、尴尬时刻和开心视频,想持续关注c语言模2加法运算怎么弄的糗事就收藏本页吧.
扫码下载糗事百科app模2除法_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
模2除法,从字面上可理解为二进制下的除法。模2除法与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位,所以实际上就是异或。在循环冗余校验码(CRC)的计算中有应用到模2除法。
模2除法介绍
多位二进制模2除法也类似于普通意义上的多位二进制除法,但是在如何确定商的问题上两者采用不同的规则。后者按带借位的二进制除法,根 据余数减除数够减与否确定商1还是商0,若够减则商1,否则商0。多位模2除法采用模2减法,不带借位的二进制减法,因此考虑余数够减除数与否是没有意义 的。实际上,在CRC运算中,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,按照模2 除法运算法则,那么余数首位是1就商1,是0就商0。
在下面的示例中,当余数位数与除数位数相同时,才进行异或运算,余数首位是1,商就是1,余数首位是0,商就是0。当已经除了几位后,余数位数小于除数,商0,余数往右补一位,位数仍比除数少,则继续商0,当余数位数和除数位数一样时,商1,进行异或运算,得新的余数,以此至被除数最后一位。
模2除法实例分析
模2除法例1
:1111000除以1101:
模2除法例2
被校验的数据M(x)=1000,其选择生成多项式为G(x)=x^3+x+1,该数据的循环冗余校验和应为多少?
G(x)=x^3+x+1对应的二进制数为1011,且G(x)中含3个项式,生成多项式为4位二进制,由CRC规则应该取(4-1)=3位(校验和),所以可以预加上3位得到=B;
B(被除数)对1011(除数)做模2除法,得到的余数便是101B(即CRC校验和),所以该数据的循环冗余校验后的数据应为1000 B+101B=1000101B。
模2除法具体说明
想知道模2除法,只需要知道什么是异或运算就很容易算出。
计算机中,异或逻辑表示为: (记忆方法:同为0异为1)
清除历史记录关闭}

我要回帖

更多关于 模二运算除法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信