用法:该移位函数实现的移位功能就相当于一个队列内循环移动,如果是左移,那么最高位就被移到最低位了,次高位变为最高位,依次类推。
void main()
{
u8 num;
LED_liushuideng=0xfe;
delay(50000);
while(1)
{
for(num=0;num<7;num++)//初始值第一个灯点亮,然后依次左移七次
{
LED_liushuideng=_crol_(LED_liushuideng,1);
delay(50000);
}
for(num=0;num<7;num++)//初始值最后一个灯点亮,然后依次右移七次
{
LED_liushuideng=_cror_(LED_liushuideng,1);
delay(50000);
}
}
}
注意:
左移操作符 (<<) 将第一个操作数向左移动指定位数,左边超出的位数将会被清除,右边将会补零。
右移运算符(>>)将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。 例如:a=a>>2 将a的二进制位右移2位,左补0 或者 左补1得看被移数是正还是负。 操作数每右移一位,相当于该数除以2。