#include <iostream>
int Add(int x, int y) {
while (y != 0) {
int carry = x & y;
std::cout << "carry = x & y = " << carry << "\n";
x = x ^ y;
std::cout << "x = x ^ y = " << x << "\n";
y = carry << 1;
std::cout <<"y = carry << 1 = " << y << "\n";
}
return x;
}
int main()
{
std::cout << Add(8779, 19);
return 0;
}
/*
run:
carry = x & y = 3
x = x ^ y = 8792
y = carry << 1 = 6
carry = x & y = 0
x = x ^ y = 8798
y = carry << 1 = 0
8798
*/