《剑指offer》练习-面试题65-不用加减乘除做加法

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

package offer;

public class Solution65 {
	public int Add(int num1, int num2) {
		int sum, carry;

		do {
			sum = num1 ^ num2;
			carry = (num1 & num2) << 1;  // 相当于求得进位,即该进的一位在哪里
			num1 = sum;
			num2 = carry;
		} while (num2 != 0);
		return num1;
	}

}

猜你喜欢

转载自blog.csdn.net/sinat_34548226/article/details/81451351