1. 编写一个函数,把二进制字符串转换为一个数值。例如,有如下的语句: char *pbin = "01001001"; 那么把pbin作为参数传递给该函数后,它应该返回一个int类型的值25.
#include<stdio.h>
int bstr_to_dec(char * str);
int main()
{
char s[100];
while(gets(s))
{
fflush(stdin);
printf("%d\n", bstr_to_dec(s));
}
return 0;
}
int bstr_to_dec( char * str)
{
int val = 0;
while (*str != '\0')
{
val = 2 * val + (*str++ - '0');
}
return val;
}
//使用移位运算符
#include<stdio.h>
#define LEN 100
int bstr_to_dec(char *str);
int main()
{
char s[LEN] ;
while(gets(s))
{
printf("%d\n", bstr_to_dec(s));
}
return 0;
}
int bstr_to_dec( char *str)
{
int val = 0;
while(*str != '\0')
{
val = (val <<1) + (*str- '0');
str++;
}
return val;
}