剑指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 };