【剑指Offer 47】不用加减乘除做加法

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

代码如下:

package demo;

/**
 * 不用加减乘除做加法
 * 
 * @author xiangdonglee
 *
 */
public class Test46 {
    public static int add(int x, int y) {
        int sum = 0;
        int carry = 0;
        do {
            sum = x ^ y;
            carry = (x & y) << 1;
            x = sum;
            y = carry;
        } while (y != 0);
        return x;
    }

    public static void main(String[] args) {
        System.out.println("1+2结果:" + add(1, 2));
        System.out.println("13+34结果:" + add(13, 34));
        System.out.println("19+85结果:" + add(19, 85));
        System.out.println("865+245结果:" + add(865, 245));
    }
}
【剑指Offer 47】不用加减乘除做加法_第1张图片
运行结果

来源:http://blog.csdn.net/derrantcm/article/details/46798763

你可能感兴趣的:(【剑指Offer 47】不用加减乘除做加法)