【刷算法】不必加减乘除怎么做加法?

题目形貌

写一个函数,求两个整数之和,请求在函数体内不得运用+、-、*、/四则运算标记。

剖析

既然不让运用加减乘除标记,只能斟酌位运算了。

0+1=1;0+0=0;1+1=10

观察到能够运用异或,而且要斟酌到进位的题目。

代码完成

function Add(num1, num2)
{
    var sum = num1;
    while(num2 !== 0){
        sum = num1 ^ num2;
        num2 = (num1 & num2) << 1;
        num1 = sum;
    }
    return sum;
}
    原文作者:亚古
    原文地址: https://segmentfault.com/a/1190000015579820
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞