急求一个二进制转十进制的函数,要求返回值要是字符串型,谢!
急求一个二进制转十进制的函数,要求返回值要是字符串型,谢!
这个或许你对有帮助
#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;
}