이 튜토리얼에서는 C/C++에서 산술 연산자를 사용하지 않고 두 정수의 합을 구하는 방법을 이해하는 프로그램에 대해 논의할 것입니다.
산술 연산자를 사용하지 않고 두 개의 정수를 더하려면 포인터를 사용하거나 비트 연산자를 사용하면 됩니다.
예시
포인터 사용
#include <iostream> 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; }
출력
5
예시
비트 연산자 사용
#include <iostream> 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; }
출력
5