#include <stdio.h>

void printBitsHelper(int i, int numbits);

void printBits(int i);

main()
{
  int intbits = 8 * sizeof(int);
  int i;
  printf("int values have %d bits.\n", intbits);
  printf("Enter an integer: ");
  scanf("%d", &i);
  printBits(i);
  printf("\n");
  exit(0);
} /* main() */

/*
 * Print the bits of i.
 */
void printBits(int i)
{
  printBitsHelper(i, 8 * sizeof(int));
} /* printBits(int) */

/*
 * Print the last numbits of i.
 */
void printBitsHelper(int i, int numbits) {
  if (numbits > 0) {
    printBitsHelper(i > 1, numbits - 1);
    printf("%d", i & 1);
  }
} /* printBits(int, int) */
