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

简介: 【刷算法】不用加减乘除怎么做加法?

题目描述


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


分析


既然不让使用加减乘除符号,只能考虑位运算了。

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;
}



相关文章
|
算法 C++
剑指offer(C++)-JZ65:不用加减乘除做加法(算法-位运算)
剑指offer(C++)-JZ65:不用加减乘除做加法(算法-位运算)
|
算法 C++ Python
【每日算法Day 66】经典面试题:不用四则运算如何做加法?
【每日算法Day 66】经典面试题:不用四则运算如何做加法?
132 0
|
存储 算法 大数据
基础算法-高精度加法
为什么要使用高精度算法 C++ 每一个变量都有自己的类型,每个类型都有自己的存储长度范围。
|
存储 算法
【每日挠头算法题】Leetcode 989. 数组形式的整数加法 —— 高精度加法解法
【每日挠头算法题】Leetcode 989. 数组形式的整数加法 —— 高精度加法解法
148 0
【每日挠头算法题】Leetcode 989. 数组形式的整数加法 —— 高精度加法解法
|
算法
算法题每日一练---第55天:不用加号的加法
设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。
162 2
算法题每日一练---第55天:不用加号的加法
|
机器学习/深度学习 自然语言处理 算法
|
算法 Java 计算机视觉
常用的像素操作算法:图像加法、像素混合、提取图像中的ROI
常用的像素操作算法:图像加法、像素混合、提取图像中的ROI
386 0
常用的像素操作算法:图像加法、像素混合、提取图像中的ROI
DL之BP:利用乘法层/加法层(forward+backward)算法结合计算图(CG)求解反向求导应用题
DL之BP:利用乘法层/加法层(forward+backward)算法结合计算图(CG)求解反向求导应用题
DL之BP:利用乘法层/加法层(forward+backward)算法结合计算图(CG)求解反向求导应用题
|
算法 C++
算法0基础之高精度加法模板+解题报告
算法0基础之高精度加法模板+解题报告
209 0