【剑指offer】不用加减乘除做加法
不用加减乘除做加法
http://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215
题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、、/四则运算符号。
*1、思路分析**
使用位运算。按位异或运算得到每位直接运算的结果,按位与运算并左移一位得到进位结果,再将两者作为两个新的加数,直到进位为0。
2、代码
public class Solution { public int Add(int num1,int num2) { int result = 0; int carry = 0; do { result = num1 ^ num2; carry = (num1 & num2) << 1; num1 = result; num2 = carry; } while(carry != 0); return result; } }