第1个回答 2014-04-23
unsigned char _crol_(unsigned char val,unsigned char n);
字符循环,字符指输入参数unsigned char val,
unsigned int _irol_(unsigned int val,unsigned char n);
整数循环,整数指输入参数unsigned int val
两者的区别就是前者是小传送带,后者是大传送带。前者只能循环移位8个bit的数据(unsigned char),后者可以循环移动32个bit的数据(unsigned int)。
例子:
/////////////////////////////////////////////////////////////////
unsigned char tmp;
tmp=_crol_(0x01,10);
运行结果为tmp=0x04,因为输入值类型为unsigned char,所以移动8位为一个周期,
_crol_(0x01,10)=_crol_(0x01,2)=0x04
/////////////////////////////////////////////////////////////////
unsigned int tmp;
tmp= _irol_(0x01,10);
运行结果为tmp=0x400,因为输入值类型为unsigned int,所以移动32位为一个周期,
_irol_(0x01,10)=_crol_(0x01,42)=0x400本回答被提问者采纳