#include <stdio.h>
int Add(int x, int y) {
while (y != 0) {
int carry = x & y;
printf("carry = x & y = %d\n", carry);
x = x ^ y;
printf("x = x ^ y = %d\n", x);
y = carry << 1;
printf("y = carry << 1 = %d\n", y);
}
return x;
}
int main()
{
printf("%d\n", Add(8739, 19));
return 0;
}
/*
run:
carry = x & y = 3
x = x ^ y = 8752
y = carry << 1 = 6
carry = x & y = 0
x = x ^ y = 8758
y = carry << 1 = 0
8758
*/