《剑指 offer》不用加减乘除做加法

题目

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

题解

两个数异或:相当于每一位相加,而不考虑进位;
两个数相与,并左移一位:相当于求得进位;
将上述两步的结果相加

代码

function Add(num1, num2)
{
    // write code here
    while( num2!=0 ){
        let sum = num1 ^ num2;
        let carray = (num1 & num2) << 1;
        num1 = sum;
        num2 = carray;
    }
    return num1;
}

   转载规则


《《剑指 offer》不用加减乘除做加法》 李冉 采用 知识共享署名 4.0 国际许可协议 进行许可。
 本篇
《剑指 offer》不用加减乘除做加法 《剑指 offer》不用加减乘除做加法
题目写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 题解两个数异或:相当于每一位相加,而不考虑进位;两个数相与,并左移一位:相当于求得进位;将上述两步的结果相加 代码function Add(num1, nu
下一篇 
《剑指 offer》 孩子们的游戏(圆圈中最后剩下的数) 《剑指 offer》 孩子们的游戏(圆圈中最后剩下的数)
题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每
  目录