首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

uvision4中char型数据的左移右移操作是咋回事儿

2014-01-22 
uvision4中char型数据的左移右移操作是怎么回事儿?for(BitCnt0BitCnt8BitCnt++){_Nop()SCL0/*置时

uvision4中char型数据的左移右移操作是怎么回事儿?
for(BitCnt=0;BitCnt<8;BitCnt++)
      {
        _Nop();           
        SCL=0;                  /*置时钟线为低,准备接收数据位*/
        _Nop();
        _Nop();                 /*时钟低电平周期大于4.7μs*/
        _Nop();
        _Nop();
        _Nop();
        SCL=1;                  /*置时钟线为高使数据线上数据有效*/
        _Nop();
        _Nop();
        retc=retc<<1;
        if(SDA==1)retc=retc+1;  /*读数据位,接收的数据位放入retc中 */
        _Nop();
        _Nop(); 
      }
这个时候是不是先把这个char型的数据转换成了16进制的0x0000.然后再移动的?
[解决办法]

引用:
Quote: 引用:

直接左移的,不过不同的处理器之间应该有点细微的差异

 直接左移是指向了他的下一个字符么?


不是,是当前字节
[解决办法]
引用:
Quote: 引用:

直接左移的,不过不同的处理器之间应该有点细微的差异

 直接左移是指向了他的下一个字符么?

比如0x0f,左移1位后就是0x1e
[解决办法]

左移就是x2,右移就是/2。

0010<<1 ---> 0100
0010>>1 ---> 0001

热点排行