zoukankan      html  css  js  c++  java
  • 剑指offer求两个整数之和(要求在函数体内不得使用+、-、*、/四则运算符号)

    思路:

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

    实例:

    代码:

    public class Solution {
        public int Add(int num1,int num2) {
            while( num2 != 0 ){
            int carray = (num1 & num2) << 1;
            int sum = num1 ^ num2;
            num2 = carray;
            num1 = sum;
            }
            return num1;
        }
    }
    

      

  • 相关阅读:
    Vijos1986
    vijos1790
    洛谷1005
    洛谷3381
    bzoj4034
    bzoj1564
    bzoj2648
    洛谷3348
    jzoi4964
    codevs3990
  • 原文地址:https://www.cnblogs.com/maohaitao/p/11430606.html
Copyright © 2011-2022 走看看