#include <stdio.h>
#define TOTAL_INT_BITS 32
int leftRotate(unsigned num, unsigned total_bits){
return (num << total_bits)|(num >> (TOTAL_INT_BITS - total_bits));
}
void print_bits(int n, int size) {
for (int i = 1 << (size - 1); i > 0; i = i / 2)
(n & i) ? printf("1") : printf("0");
}
int main(void)
{
unsigned int num = 21791;
print_bits(num, 16);
int N = 3;
num = leftRotate(num, N);
printf("\n");
print_bits(num, 16);
return 0;
}
/*
run:
0101010100011111
1010100011111000
*/