c语言编程-二进制转化为十进制

#include<stdio.h>
static int a=0;
double bintodec(char*str)
{
 a=a*2+(*str-'0');
 return 0;
}
int main()
{
 char ch;
 while(ch=getchar(),ch!='\n')
 {
  char *p=&ch;
  bintodec(p);
 }
 printf("%d",a);
}

如果不要求调用函数,可以直接在主函数中实现如下指令:

#include<stdio.h>
int main()
{
 char ch;
 int a=0;
 while(ch=getchar(),ch!='\n')
  a=a*2+(ch-'0');
 printf("%d\n",a);
 return 0;
}

更多推荐

c语言编程-二进制转化为十进制