面试题47:不用加减乘除做加法

分析:

对于x和y

1.首先计算各位相加但不计进位;

2.记下进位;

3.把前步的结果相加。

 1 int add(int num1, int num2)
 2 {
 3   int sum, carry;
 4   do
 5   {
 6     sum = num1^num2;
 7     carry = (num1&num2)<<1;
 8     num1 = sum;
 9     num2 = carry;
10   }while (carry!=0)
11   return num1;
12 }

 

posted @ 2015-06-25 17:31  Rosanne  阅读(169)  评论(0编辑  收藏  举报