#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(" intetger = "); print_bits(x); printf(" left move = "); print_bits(x << n); printf(" right move = "); print_bits(x >> n); return 0; }