Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++에서 산술 연산자를 사용하지 않고 두 정수를 합하는 방법은 무엇입니까?

<시간/>

다음은 산술 연산자를 사용하지 않고 두 개의 숫자를 더하는 예입니다.

예시

#include <iostream>
#include <cmath>
using namespace std;
int add(int val1, int val2) {
   while(val2 != 0) {
      int c = val1 & val2;
      val1 = val1 ^ val2;
      val2 = c << 1;
   }
   return val1;
}
int main() {
   cout <<"The sum of two numbers : "<< add(28, 8);
   return 0;
}

출력

The sum of two numbers : 36

위의 프로그램에서 함수 add()는 두 개의 int 유형 인수로 정의됩니다. 두 숫자의 추가는 add()

로 코딩됩니다.
int add(int val1, int val2) {
   while(val2 != 0) {
      int c = val1 & val2;
      val1 = val1 ^ val2;
      val2 = c << 1;
   }
   return val1;
}

main() 함수에서 결과는 add()

함수를 호출하여 인쇄됩니다.
cout <<"The sum of two numbers : "<< add(28, 8);