四位二进制数循环左移一位 用VHDL论文怎么写写

Y将下列二进制数进行算术左移,逻辑左移,循环左移 (1)1110 (2)1011_百度知道
Y将下列二进制数进行算术左移,逻辑左移,循环左移 (1)1110 (2)1011
算术左移与逻辑左移是一样的,都是整体向左移一位,最右边补0,所以结果为(1)1100 (2)0110循环左移,这里你没有说明到底是带进位的还是不带进位的循环左移,两者是有区别的,如果是不带进位的循环左移的话,结果就是(1)1101 (2)0111
;如果是带进位的话,由于这里不牵涉到进位,所以答案与不带的是相同的答案。想好好学习这个的话,借或者买本汇编语言的书,上面这个都会讲的很详细的,希望对你有所帮助!
其他类似问题
二进制数的相关知识
按默认排序
其他1条回答
不管是算术左移、逻辑左移还是循环左移(对于左移,前两者等价),结果都是后便的每一位向左前进一位 最后一位补0 相当于乘以二进制10
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁第一章-数字-数制-码制_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
23页免费44页免费64页免费34页免费45页免费 23页免费63页免费64页免费63页免费44页免费
喜欢此文档的还喜欢21页免费4页1下载券157页免费
第一章-数字-数制-码制|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:784.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢设待发送的数据t(x)为12位的二进制数据;CRC-4的生成多项式为g(x)=x4+x+1,求CRC检测码_百度知道
设待发送的数据t(x)为12位的二进制数据;CRC-4的生成多项式为g(x)=x4+x+1,求CRC检测码
提问者采纳
设待发送的数据t(x)为12位的二进制数据;CRC-4的生成多项式为g(x)=,阶数r为4,即10011。首先在t(x)的末尾添加4个0构成,数据块就成了10010。然后用g(x)去除,不用管商是多少,只需要求得余数y(x)。下表为给出了除法过程。除数次数 被除数/ g(x)/结果 余数0 1 000 1 00110 0001 1
10000001 00110 2 1 000000 11001 00110 001100
从上面表中可以看出,CRC编码实际上是一个循环移位的模2运算。对CRC-4,我们假设有一个5 bits的寄存器,通过反复的移位和进行CRC的除法,那么最终该寄存器中的值去掉最高一位就是我们所要求的余数。所以可以将上述步骤用下面的流程描述:
//reg是一个5 bits的寄存器
把reg中的值置0.
把原始的数据后添加r个0.
While (数据未处理完)
If (reg首位是1)
reg = reg XOR 0011.
把reg中的值左移一位,读入一个新的数据并置于register的0 bit的位置。
reg的后四位就是我们所要求的余数。
这种算法简单,容易实现,对任意长度生成多项式的G(x)都适用。在发送的数据不长的情况下可以使用。但是如果发送的数据块很长的话,这种方法就不太适合了。它一次只能处理一位数据,效率太低。为了提高处理效率,可以一次处理4位、8位、16位、32位。由于处理器的结构基本上都支持8位数据的处理,所以一次处理8位比较合适。
为了对优化后的算法有一种直观的了解,先将上面的算法换个角度理解一下。在上面例子中,可以将编码过程看作如下过程:
由于最后只需要余数,所以我们只看后四位。构造一个四位的寄存器reg,初值为0,数据依次移入reg0(reg的0位),同时reg3的数据移出reg。有上面的算法可以知道,只有当移出的数据为1时,reg才和g(x)进行XOR运算;移出的数据为0时,reg不与g(x)进行XOR运算,相当与和0000进行XOR运算。就是说,reg和什么样的数据进行XOR移出的数据决定。由于只有一个bit,所以有种选择。上述算法可以描述如下,
//reg是一个4 bits的寄存器
初始化t[]={}
把reg中的值置0.
把原始的数据后添加r个0.
While (数据未处理完)
把reg中的值左移一位,读入一个新的数据并置于register的0 bit的位置。
reg = reg XOR t[移出的位]
上面算法是以bit为单位进行处理的,可以将上述算法扩展到8位,即以Byte为单位进行处理,即CRC-32。构造一个四个Byte的寄存器reg,初值为0x,数据依次移入reg0(reg的0字节,以下类似),同时reg3的数据移出reg。用上面的算法类推可知,移出的数据字节决定reg和什么样的数据进行XOR。由于有8个bit,所以有种选择。上述算法可以描述如下:
//reg是一个4 Byte的寄存器
初始化t[]={…}//共有=256项
把reg中的值置0.
把原始的数据后添加r/8个0字节.
While (数据未处理完)
把reg中的值左移一个字节,读入一个新的字节并置于reg的第0个byte的位置。
reg = reg XOR t[移出的字节]
算法的依据和多项式除法性质有关。如果一个m位的多项式t(x)除以一个r阶的生成多项式g(x),,将每一位(0=&k&m)提出来,在后面不足r个0后,单独去除g(x),得到的余式位。则将后得到的就是t(x)由生成多项式g(x)得到的余式。对于CRC-32,可以将每个字节在后面补上32个0后与生成多项式进行运算,得到余式和此字节唯一对应,这个余式就是上面算法种t[]中的值,由于一个字节有8位,所以t[]共有=256项。多项式运算性质可以参见参考文献[1]。这种算法每次处理一个字节,通过查表法进行运算,大大提高了处理速度,故为大多数应用所采用。
提问者评价
谢谢大师。
其他类似问题
其他1条回答
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
课程设计-同步二进制加法计数器的设计与仿真
下载积分:
内容提示:课程设计-同步二进制加法计数器的设计与仿真,加法计数器,二进制计数器,二进制加法,二进制的加法,eda4位二进制加法器,二进制加法器,c语言 二进制加法,二进制加法运算,二进制加法器 木工,4位二进制加法器
文档格式:DOC|
浏览次数:28|
上传日期: 01:13:56|
文档星级:
该用户还上传了这些文档
官方公共微信
下载文档:课程设计-同步二进制加法计数器的设计与仿真.DOC扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
《电力系统远动及调度自动化》思考题题解绪论部分
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 自我评价怎么写 的文章

更多推荐

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

点击添加站长微信