#include "stdio.h"
int getSum(int a, int b) {
int sum;
unsigned int carry;
while (1)
{
sum = a ^ b; //1.第一次为没有进位的值 2.后面相或补进位
carry = a & b; //需要进位对应的值
if (carry == 0) //直到没有要进的位
{
break;
}
a = sum;
b = carry << 1; //每进一位后,前面的位数就不进了
}
return sum;
}
int main()
{
printf("%d", getSum(3, 5));
}