回复:怎样实现64位循环左移?(转)

我心依旧555

  • 帖子

    769
  • 精华

    9
  • 被关注

    34

论坛等级:奇侠

注册时间:2009-09-12

普通 普通 如何晋级?

发布于 2011-04-07 21:38:39

16楼

quote:以下是引用Zane在2011-04-07 10:48:15的发言:
楼上是不是理解有误,我要求的是任意的N位(N>3)构成的循环寄存器的循环移位操作,而不是一次循环移动N位,因此不可能出现程序扫描超时的情况,而且这个程序一般是在硬件中断内实现的,每次循环移动1位,当然循环移动多位也是允许的。

的确,本程序是在一个扫描周期完成,当移位的总数或移位的位数较大时会发生超时。但却实现了任意位数移动任意位。稍加改动应该就不会受扫描周期的影响,只是处理的结果需要N多次扫描才能得到结果。我想更重要的是方法,实际上的问题规模是达不到这么大的。
我想基本上是分为三步吧:
假设移位的总数为X,需要移位数为y
1、对移出的位y位进行缓存
2、对剩下的位x-y进行左移位或右移位
3、装载缓存的y位
一切皆有可能
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。