欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

剑指offer-不用加减乘除做加法

程序员文章站 2022-06-17 16:16:20
...

题目描述

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

思路(剑指offer第二版p311)

剑指offer-不用加减乘除做加法

java实现

public class Solution {
    public int Add(int num1,int num2) {
        if(num2==0)
            return num1;
        int sum=0;
        int carry=0;
        while(num2!=0){
            sum=num1^num2;//异或 相同为0,不同为1  0+0=0 1+1=0 0+1=1 1+0=1  不带进位
            carry=(num1&num2)<<1; // 1+1进位  
            num1=sum;
            num2=carry;
        }
        return sum;
    }
}