编写一个将二进制字符串转换为数字值的函数。

#include <stdio.h>

int convertBinaryStringToInt(const char * string);

int main(void)
{
  int result;
  char * binstring = "01001001";
  printf("%s in base-10 is %d.\n", binstring, convertBinaryStringToInt(binstring));

  return 0;
}

int convertBinaryStringToInt(const char * string)
{
  // convert a binary string to a numeric value

  int retval = 0;
  while (*string != '\0')
  {
    retval <<= 1;
    if (*string == '1')
      retval |= 1;
    string++;
  }
  return retval;
}