1. 程式人生 > >不用‘+’實現加法運算

不用‘+’實現加法運算

#include <iostream>
using namespace std;

int AddWithoutOperator(int num_1, int num_2) {
    if(num_2 == 0) {
        return num_1;
    }
    int sum = num_1 ^ num_2;                   //等同加法,即0,0得1.0,1等1,.1,1得0.
    int carry = (num_1 & num_2) << 1;          //進位,當有兩個1時向前進1
    return AddWithoutOperator(sum, carry);
}

int main() {
    int a = 10, b = 29;
    int res = AddWithoutOperator(a,b);
    cout<<res;
}