#include <iostream>
#include <string>
using namespace std;
string binaryAdd(string a,string b)
{
string result="";
int c=0,num=0;
int i=a.size()-1,j=b.size()-1;
for(;i>=0 && j>=0;i--,j--)
{
num=(a[i]-'0')+(b[j]-'0')+c;
c=num/2;
num=num%2;
result+='0'+num;
}
for(;i>=0;i--)
{
num=(a[i]-'0')+c;
c=num/2;
num=num%2;
result+='0'+num;
}
for(;j>=0;j--)
{
num=(b[j]-'0')+c;
c=num/2;
num=num%2;
result+='0'+num;
}
if(c!=0)
{
string temp(1,char(c+'0'));
result=temp+result;
return result;
}
}
int main()
{
string s1="11";
string s2="1";
cout<<binaryAdd(s1,s2)<<endl;
}
二进制字符串加法
最新推荐文章于 2021-09-21 22:16:32 发布