剑指offer48 不用加减乘除做加法

Posted stephen-jixing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer48 不用加减乘除做加法相关的知识,希望对你有一定的参考价值。

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
 
两个数相加=进位+原始位
 
即a+b = a^b + (a&b)<<1
 
class Solution {
    
    /*
    a+b = 进位值 + 不进位的和
    */
public:
    int Add(int num1, int num2)
    {
        int n1 ; int n2 ;
        while(num2!=0){
            n1 = num1 ; n2 = num2 ;
            num1 = n1^n2;  num2 = (n1&n2)<<1 ;
        }
        return num1 ;

    }
};

 

以上是关于剑指offer48 不用加减乘除做加法的主要内容,如果未能解决你的问题,请参考以下文章

[剑指Offer] 48.不用加减乘除做加法

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

剑指offer系列——48.不用加减乘除做加法

剑指offer系列——剑指 Offer 65. 不用加减乘除做加法

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

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