Answer to Question for-5

#include <cstdio>

//=======================================================
//                   convertBinaryToInteger
//=======================================================
// convertBinaryToInteger takes a null-terminated string,
// binary, holding a binary number with the high-order
// digit first.
//
// It returns the number represented by binary.
//=======================================================

long convertBinaryToInteger(const char* binary)
{
  long result = 0;

  for(int k = 0; binary[k] != '\0'; k++) 
  {
    result = 2*result + (binary[k] - '0');
  }
  return result;
}


int main()
{
  char binary[51];

  // 1. Get the binary number as a null-terminated string,
  //    starting with the high-order bit, in array binary.

  scanf("%s", binary);

  // 2. Convert binary to an integer.

  long num = convertBinaryToInteger(binary);

  // 3. Show the result.

  printf("Conversion of %s\n to decimal yields %ld\n",
         binary, num);
  return 0;
}