急求一个二进制转十进制的函数,要求返回值要是字符串型,谢!
											急求一个二进制转十进制的函数,要求返回值要是字符串型,谢!										
					
	
				
											这个或许你对有帮助
#include<iostream.h>
#include<string.h>
char *fun(char s[]);
void main()
{
 char s[32];
 cout<<"请输入二进制数:";
 cin>>s;
 char *t=fun(s);
 cout<<t<<endl;
}
char *fun(char s[])
{
 int length=strlen(s);
 int sum=0,k=1;
 for(int i=length-1;i>=0;i--)
 {
  switch(s[i])
  {
  case '1':sum+=1*k;
   break;
  case '0':sum+=0;
   break;
  }
  k*=2;
 }
 cout<<sum<<endl;
 static char a[100],b[100];
 for(i=0;i<100;i++)
 {
  if(sum>=0&&sum<=9)
  {
   a[i]=sum+48;
   break;
  }
  a[i]=(sum%10)+48;
  sum/=10;
 }
 for(int j=0;i>=0;j++,i--)
 {
  b[j]=a[i];
 }
 return b;
}
										
					
	
	
	
			


 
											





 
	    

 
	
