blob: 9f7adbd14131823ced39ed0946345c85bc64f4c0 (
plain) (
tree)
|
|
#include<stdio.h>
/*
* Returns the value of the integer x rotated to the right by n bit positions.
*/
unsigned rightrot(unsigned x, int n) {
unsigned mask = ~(~0 >> 1);
while (n-- > 0)
if (x & 1)
x = (x >> 1) | mask;
else
x >>= 1;
return x;
}
int main() {
printf("%x\n", rightrot(0xaa, 3));
}
|