剑指offer——75不用加减乘除做加法

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
 
题解:
  使用位运算
 
 1 class Solution {
 2 public:
 3     int Add(int num1, int num2){
 4         int sum, carry;
 5         while (num2 != 0) {
 6             sum = num1 ^ num2;//只现相加,不进位
 7             carry = (num1&num2) << 1;//记录进位
 8             num1 = sum;
 9             num2 = carry;
10         }
11         return num1;
12     }
13 };

 

posted @ 2019-10-20 23:01  自由之翼Az  阅读(98)  评论(0编辑  收藏  举报