文章目录
前言
在C语言中计算二进制数的加法
一、C语言中二进制数加法计算
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
int k[100];//存放计算后的二进制数
char s1[100],s2[100];//输入的两个二进制数
int sum,sum1=0,sum2=0;
int len1,len2;//两个字符数组的长度
int i=0;
gets(s1);
gets(s2);
len1 = strlen(s1);
len2 = strlen(s2);
while(s1[i]!='\0')//第一个二进制数转化为十进制数
{
sum1+= pow(2,len1-1)*(s1[i]-48);
len1--;
i++;
}
i=0;
while(s2[i]!='\0')//第二个二进制数转化为十进制数
{
sum2+= pow(2,len2-1)*(s2[i]-48);
len2--;
i++;
}
i=0;
sum = sum1+sum2;//两数和
while(sum)//和转化为二进制
{
k[i] = sum%2;
sum/=2;
i++;
}
i=i-1;
while(i>=0)//输出
{
printf("%d",k[i]);
i--;
}
return 0;
}