int main(int argc, const char * argv[])
{
//设向右循环移动.
//经过分析 向右循环移动几位就是把后几位与前面的互换位置.因为是一个字节所以为8位
//位互换的实现方法是 先向左移动n位 再向右移动8-n位 然后两个数求或(注意溢出)
int a = 0;
int laft = 0;//记录左移后的数字
int right = 0;//记录右移后的数字
int i = 0;//移动的位数
printf("请输入一个0~255的数字:\n");
scanf("%d",&a);
printf("请输入移位的位数:\n");
scanf("%d",&i);
if (i > 8) {
i %= 8;
}
laft = (a << (8-i))& 255;
right = (a >> i) & 255;
printf("移位后的数字为:%d",laft | right);
return 0;
}