不使用四则运算求和

要求实现一个求和函数 不能使用+,-,*,/
使用逻辑运算符和移位运算符

int add (int a,int b){
	int num1 = a^b;//先不进位求a+b
	int num2 = (a&b)<<1;
	//再求该进位没有进位的地方,也就是此时a+b=num1+num2,所以num2为0时num1就是所求的值
	while(num2){
		num1 = num1^num2;
		num2 = (num1&num2)<<1;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_42673507/article/details/86250343