![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
用c语言编写:将二个二进制数相加
展开全部
#include <stdio.h>
#include <string.h>
#include <math.h> //二进制加法 黄任华写//
void binary(int n)
{
if(n/2>0)
{
binary(n/2);
}
printf("%d",n%2);
}
int main()
{
char a[80],b[80];int max,s1=0,i,j,n,d[81],k,s=0,c[81];
int q=1;
gets(a);k=strlen(a);
for(i=0;i<k;i++) c[k-1-i]=a[i]-'0';
gets(b);n=strlen(b);
for(j=0;j<n;j++) d[n-1-j]=b[j]-'0';
for(i=0;i<k;i++)
{
s=c[i]*q+s;
q=q*2;
}
q=1;
for(j=0;j<n;j++)
{
s1=d[j]*q+s1;
q=q*2;
}
max=s+s1;
binary(max);
return 0;
}
#include <string.h>
#include <math.h> //二进制加法 黄任华写//
void binary(int n)
{
if(n/2>0)
{
binary(n/2);
}
printf("%d",n%2);
}
int main()
{
char a[80],b[80];int max,s1=0,i,j,n,d[81],k,s=0,c[81];
int q=1;
gets(a);k=strlen(a);
for(i=0;i<k;i++) c[k-1-i]=a[i]-'0';
gets(b);n=strlen(b);
for(j=0;j<n;j++) d[n-1-j]=b[j]-'0';
for(i=0;i<k;i++)
{
s=c[i]*q+s;
q=q*2;
}
q=1;
for(j=0;j<n;j++)
{
s1=d[j]*q+s1;
q=q*2;
}
max=s+s1;
binary(max);
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询