How to add two integers without using arithmetic operators in C++

1 Answer

0 votes
#include <iostream>

int Add(int x, int y) { 
    
    while (y != 0) { 
        int carry = x & y;  
        std::cout << "carry = x & y = " << carry << "\n";  
   
        x = x ^ y;  
        std::cout << "x = x ^ y = " << x << "\n";  
         
        y = carry << 1; 
        std::cout <<"y = carry << 1 = " << y << "\n";    
    } 
    return x; 
} 
      
int main() 
{ 
    std::cout << Add(8779, 19); 
      
    return 0; 
} 
    
  
  
       
/*
run:
        
carry = x & y = 3
x = x ^ y = 8792
y = carry << 1 = 6
carry = x & y = 0
x = x ^ y = 8798
y = carry << 1 = 0
8798
   
*/

 



answered Aug 12, 2021 by avibootz
...