题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

思路:
先找出两个数的二进制相加不需要进位的位置:a^b
在找出相加需要进位的位置:a&b,然后再左移一位;
现在a+b=(a&b<<1)+a^b;
循环。。。
直到两个数没有a&b<<1==0,此时a^b就是a+b;

public class Q_48 {

public int Add(int num1,int num2) {
    while (num2!=0) {
        int temp = num1^num2;
        num2 = (num1&num2)<<1;
        num1 = temp;
    }
    return num1;
}

}