#include <stdio.h>
int count_bits(unsigned x)
{
int bits = 0;
while(x)
{
if(x & 1U)
bits++;
x >>= 1;
}
return bits;
}
int int_bits(void)
{
return count_bits(~0U);
}
void print_bits(unsigned x)
{
int i;
for(i = int_bits() - 1; i >= 0; i--)
putchar(((x >> i) & 1U) ? '1' : '0');
}
int main(void)
{
unsigned x, n;
printf("no minus integer: "); scanf("%u", &x);
printf("unit of move: "); scanf("%u", &n);
printf("\nintetger = "); print_bits(x);
printf("\nleft move = "); print_bits(x << n);
printf("\nright move = "); print_bits(x >> n);
return 0;
}