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

C51中的 intrins.h中的循环移位函数和标准C中的移位符号"<<"和">>"疑惑,望牛人

2012-02-24 
C51中的 intrins.h中的循环移位函数和标准C中的移位符号和疑惑,望牛人解答!_crol_, _cror_,等等函

C51中的 intrins.h中的循环移位函数和标准C中的移位符号"<<"和">>"疑惑,望牛人解答!
_crol_, _cror_,等等函数我知道,是循环移位的意思,这些函数的功能和标准C的移位操作符"<<"和">>"有什么区别呢!
他们在执行效率上有不同!

[解决办法]
标准C的移位操作符"<<"左移一次,超过8位的就被舍去了,最低位补0
">>"右移一次,超过8位的就被舍去了,最高位补0
_crol_, _cror_,是循环移位
执行效率肯定是标准C的移位效率高,因为不用管移出的超过8位的位
[解决办法]

探讨
标准C的移位操作符"<<"左移一次,超过8位的就被舍去了,最低位补0
">>"右移一次,超过8位的就被舍去了,最高位补0
_crol_, _cror_,是循环移位
执行效率肯定是标准C的移位效率高,因为不用管移出的超过8位的位

[解决办法]
同意楼上
[解决办法]
循环,就是带进位移位,C中的>>和<<是不带进位的。
ACC >>= 1;和
ACC = ACC >> 1;
是一样的
ACC >>= 1;//是C风格而
ACC = ACC >> 1;//是basic风格。
[解决办法]
C里面没有循环位移


[解决办法]
;原来就没有“循环”的说法
RR A;原名:Rotate Right
RL A; Rotate Left

RCR A;原名 Rotate Right through Carry、
RCL A

热点排行