循環移位。要求將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;
}