#include<stdio.h>
#include<string.h>
int Min(int x,int y)
{
if (x<y)
return x;
else
return y;
}
int main()
{
int temp=0,m,n,p,i,x,y,z;
scanf("%s",a);
scanf("%s",b);
x=strlen(a);
y=strlen(b);
//for(x=1000;a[x]!='\0';x--){}
//for(y=1000;b[y]!='\0';y--){}
x=x-1;
y=y-1;
z=Min(x,y);
for(i=0;i<=z;i++)
{
if((a[x-i]==b[y-i])&&(a[x-i]=='1'))
{
//printf("ok");
c[z-i]='1';
}
else
{
c[z-i]='0';
}
}
//printf("%s\n",c);
for(m=0,answer[999]=0;m<=strlen(c)-1;m++)//关键的一步,二进制转换十进制,十进制用数组储存
{
answer[999]=answer[999]*2+(c[m]-'0');
for(n=998;n>=0;n--)
{
answer[n]=2*answer[n];
}
for(p=999;p>=1;p--)
{
answer[p-1]+=answer[p]/10;
answer[p]=answer[p]%10;
}
}
for(m=0;m<=999;m++)
if(answer[m]!=0)
break;
while (m<=998)
{printf("%d",answer[m++]);}
printf("%d\n",answer[999]);
//system("pause");
return 0;
}
#include<string.h>
int Min(int x,int y)
{
if (x<y)
return x;
else
return y;
}
int main()
{
char a[1100],b[1100],c[1100]={0};//输入的a,b用二进制表示
int answer[1000]={0};int temp=0,m,n,p,i,x,y,z;
scanf("%s",a);
scanf("%s",b);
x=strlen(a);
y=strlen(b);
//for(x=1000;a[x]!='\0';x--){}
//for(y=1000;b[y]!='\0';y--){}
x=x-1;
y=y-1;
z=Min(x,y);
for(i=0;i<=z;i++)
{
if((a[x-i]==b[y-i])&&(a[x-i]=='1'))
{
//printf("ok");
c[z-i]='1';
}
else
{
c[z-i]='0';
}
}
//printf("%s\n",c);
for(m=0,answer[999]=0;m<=strlen(c)-1;m++)//关键的一步,二进制转换十进制,十进制用数组储存
{
answer[999]=answer[999]*2+(c[m]-'0');
for(n=998;n>=0;n--)
{
answer[n]=2*answer[n];
}
for(p=999;p>=1;p--)
{
answer[p-1]+=answer[p]/10;
answer[p]=answer[p]%10;
}
}
for(m=0;m<=999;m++)
if(answer[m]!=0)
break;
while (m<=998)
{printf("%d",answer[m++]);}
printf("%d\n",answer[999]);
//system("pause");
return 0;
}