• 不用加减乘除做加法
    • 题目
    • 解题思路

    不用加减乘除做加法

    题目

    牛客网

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

    解题思路

    1. 将加法分解成两步
    2. 两个数不计算进位相加得到 sum,计算进位 carry
    3. 再将进位加上:sum = sum + carry
    4. 直到没有进位为止
    1. public int Add(int num1, int num2) {
    2. int sum, carry;
    3. do {
    4. sum = num1 ^ num2;
    5. carry = (num1 & num2) << 1;
    6. num1 = sum;
    7. num2 = carry;
    8. } while (num2 != 0);
    9. return sum;
    10. }