算法---不用加号,完成加法

给定两个数 a ,b 整数类型,先上代码

//不用加号,完成加法
	public int sum(int a,int b) {
		if (b==0) {
			return a;
		}
		int num = a^b;
		int num2 = a&b;
		
		return sum(num, num2);
	}

 num 是 a 和 b 做异或运算,异或运算是不带进位的加法;

num2 是a和b 做与运算,与运算是让 num进位,如果 num2 =0的话 说明 num 就是已经加和的数了

猜你喜欢

转载自blog.csdn.net/qq_33188563/article/details/81156184