#include <stdio.h>
int rightrot(int x,int n){
int i ;
unsigned v = ~0;
for(i=0;v!=0;++i){
v = v << 1;
}
return ((x | 0) << (i-n)) | (x >> n);
}
main()
{
printf("%d\n",rightrot(2,1));
}
#include <stdio.h>
int rightrot(int x,int n){
int i ;
unsigned v = ~0;
for(i=0;v!=0;++i){
v = v << 1;
}
return ((x | 0) << (i-n)) | (x >> n);
}
main()
{
printf("%d\n",rightrot(2,1));
}