1. 单片机 移位操作 右移 C语言
aa=_crol_(aa,1); //左移一位
aa=_cror_(aa,1); //右移一位
可以打开:intrins.h,查看。
2. C语言:写一个函数用来实现左右循环移位。
#include <stdio.h>
void fun(int &value,int n,int dire)
{
if(dire==0) return;
int x=1<<(sizeof(int)*8-1);
int temp;
int i;
if(dire>0)
{
for(i=0;i<n;i++)
{
temp=value&1;
value>>=1;
if(temp) value|=x;
}
}
else
{
for(i=0;i<n;i++)
{
temp=value & x;
value<<=1;
if(temp) value|=1;
}
}
}
void main()
{
int x=0x55555555;
fun(x,1,1);
printf("%x",x);
}