Java 两个整型相加,不能用+号和其他算术运算符

Java 两个整型相加,不能用+号和其他算术运算符?
用到的知识点:二进制按位异或,等值于求和。(本位)
二进制按位相与再乘2,等值于求和(进位)
突破口:当进位为0,加完,退出。

public class Add {

    public int addAB(int A, int B) {
        // write code here
        while (B!=0) {
            int xor = A ^ B;//求和  本位
            int and = (A & B)<<1;//
            A=xor;
            B=and;//进位为0,加法完毕
        }
        return A;
    }
}

猜你喜欢

转载自blog.51cto.com/14232658/2453456