标题: 移位问题求教 [打印本页]

作者: smilefff    时间: 2016-2-22 23:34
一般情况下,是先写的在前,后写的在后面,如果你要写123456,就先写1,再写2、、、
如果要想实现你所说的效果,可以第一次写一位,第二次写两位,类推,不用移位
作者: sywangjunqing    时间: 2016-2-23 21:32
这样行吗,先输入6 然后左移1位 再输入5  再左移1位......输入完成后数据是654321,再用程序改变它们在内存的排列顺序,转成123456.
作者: 红尘有你    时间: 2016-2-24 16:27
本帖最后由 红尘有你 于 2016-2-24 16:30 编辑

int RightMove(x,y) {  
int temp,n;  
  if(x>0)
  {
  n=len(x); //返回X的长度给n  
  y=y+x<<(n-1);//用来保存已写入的
  temp=x>>1;   
  RightMove(temp,y);
  }   
return y;//返回写入的数据
}

作者: xuelanga000    时间: 2016-2-26 23:20
addr=123456; for(n=0;n<6;n++)//开始传送6位数据         {                 DSIO=addr&0x01;//数据从低位开始传送                 addr>>=1;                 _nop_();                 _nop_();         }




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1