Cod sursa(job #1630080)

Utilizator andreigasparoviciAndrei Gasparovici andreigasparovici Data 4 martie 2016 21:58:01
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;
int binAdder(int a,int b)
{
    bool A=a%2,B=b%2,C_in=0,C_out=0,S=0;
    int tmp=0;
    for(int i=0;i<32;i++)
    {
        A=a%2,B=b%2;
        S=(A^B)^C_in;
        tmp+=S*(1<<i);
        C_out=(C_in&(A^B))|(A&B);
        a>>=1;
        b>>=1;
        C_in=C_out;
    }
    tmp+=C_out*(1<<32);
    return tmp;
}
int main()
{
    freopen("adunare.in","r",stdin);
    freopen("adunare.out","w",stdout);
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d",binAdder(a,b));
    return 0;
}