|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
void reverse (char *s)
{
int lens=strlen(s);
int i,t;
for(i=0;i<(lens/2);i++)
{
t=s[i];
s[i]=s[lens-1-i];
s[lens-1-i]=t;
}
}
char * addBinary(char * a, char * b){
int a1=1,b1=1,sum1=0,sum2=0,sum,d=2;
int i,j;
int length1,length2;
length1=strlen(a);
length2=strlen(b);
for(i=0;i<length1;i++)
{
sum1=sum1*2;
sum1+=a[i]-'0';
}
for(j=0;j<length2;j++)
{
sum2=sum2*2;
sum2+=b[i]-'0';
}
sum=sum1+sum2;
char *c=(char *)malloc(length1>length2?(length1+2):(length2+2));
for(i=0;d>=2;i++)
{
c[i]=sum%2+'\0';
d=sum/2;
}
reverse(c);
return c;
}
|
|