循环移位。要求将a进行右循环移位,将a右循环移n位。
1、将a中的右端n位放到b中的高n位中。
2、将a右移n位,左端自动补0。
3、将a,b相或放入c中,即得a右循环n位结果。
程序如下:
#include "stdafx.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
unsigned a,b,c,n;
cout<<"输入原数a的值及循环移动的位数n:"<<endl;
cin>>a>>n;
b=a<<(16-n);
a=a>>n;
c=a|b;
cout<<"a循环右移"<<n<<"位是:"<<c<<endl;
system("PAUSE");
return 0;
}