不用加减乘除做加法

引用地址: http://blog.csdn.net/caroline_wendy


题目: 写一个函数,求两个整数之和, 要求在函数体内不得使用+, -, *, /四则运算符号.


不能使用运算符号,使用位运算,第一步异或运算选位,第二步与运算进位.


代码:

  1.   
  2.   
  3. #include   
  4. #include   
  5.   
  6. using namespace std;  
  7.   
  8. int Add (int num1, int num2)  
  9.     int sum, carry;  
  10.     do  
  11.         sum num1 num2;  
  12.         carry (num1 num2)<<1;  
  13.         num1 sum;  
  14.         num2 carry;  
  15.     }while(num2 != 0);  
  16.     return num1;  
  17.  
  18.   
  19. int main(void 
  20.  
  21.     int result Add(105, 37);  
  22.     std::cout << "result " << result << std::endl;  
  23.     return 0;  
  24.  

输出:
  1. result 142  

posted @ 2014-07-18 21:07  wu_overflow  阅读(100)  评论(0编辑  收藏  举报