Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Cộng hai số nguyên không dùng toán tử số học trong C/C++


Trong hướng dẫn này, thảo luận cách cộng hai số nguyên không dùng toán tử số học trong C/C++.

Có thể dùng con trỏ (pointer) hoặc toán tử bitwise.

Ví dụ

Dùng con trỏ

#include 
using namespace std;
int sum(int a, int b){
    int *p = &a;
    return (int)&p[b];
}
int main() {
    int add = sum(2,3);
    cout << add << endl;
    return 0;
}

Kết quả

5

Ví dụ

Dùng toán tử bitwise

#include 
using namespace std;
int sum(int a, int b){
    int s = a ^ b;
    int carry = a & b;
    if (carry == 0)
        return s;
    else
        return sum(s, carry << 1);
}
int main() {
    int add = sum(2,3);
    cout << add << endl;
    return 0;
}

Kết quả

5