Advertisement
sushmoyr

Binary Sum

Jul 22nd, 2019
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. string toBinary(int n)
  4. {
  5.     string s;
  6.     while(n)
  7.     {
  8.         s.push_back((n%2)+'0');
  9.         n/=2;
  10.     }
  11.     reverse(s.begin(),s.end());
  12.     return s;
  13. }
  14. string sum(string a, string b)
  15. {
  16.     reverse(a.begin(),a.end());
  17.     reverse(b.begin(),b.end());
  18.     while(a.size()!=b.size())
  19.     {
  20.         if(a.size()<b.size())
  21.             a.push_back('0');
  22.         else
  23.             b.push_back(48);
  24.     }
  25.  
  26.     int carry=0,temp;
  27.     string ans="";
  28.     for(int i=0; i<a.size(); i++)
  29.     {
  30.         temp=(a[i]-48)+(b[i]-48);
  31.         temp+=carry;
  32.         carry=0;
  33.         ans.push_back((temp%2)+48);
  34.         carry=((temp/2)%2);
  35.     }
  36.     //cout<<"carry = "<<carry<<endl;
  37.     while(carry)
  38.     {
  39.         ans.push_back((carry%2)+48);
  40.         carry/=2;
  41.     }
  42.     reverse(ans.begin(),ans.end());
  43.     return ans;
  44. }
  45. int main()
  46. {
  47.     string a,b;
  48.     cin>>a>>b;
  49.     cout<<sum(a,b)<<endl;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement