写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
class Solution {
public:
int Add(int num1, int num2)
{
//不知道怎么算
//四则运算和位运算
//加法不带进位
//异火
//算进位
//与
int sum,carry;
do{
sum=num1^num2;
carry=(num1&num2)<<1;
num1=sum;
num2=carry;
}
while(num2!=0);
return sum;
}
};
本文介绍了一个使用位运算实现两个整数相加的函数,避免使用传统的四则运算符号。通过异或运算处理不考虑进位的加法部分,与运算结合左移运算处理进位部分,并循环此过程直至没有进位。
652

被折叠的 条评论
为什么被折叠?



