我需要添加 2 个无符号数字 'a' 和 'b' 。
我找到了以下代码,使用位操作
unsigned int add (unsigned int a,unsigned int b)
{
unsigned int carry, sum;
if (b == 0)
{
return a;
}
sum = a ^ b; // xor takes sum
carry = a & b; // collect carry;
carry = carry << 1;
return ( add (sum, carry) );
}
我不知道这段代码是如何添加两个数字的。
任何帮助/指导的人。