不用加减乘除,求两数和,无符号数.
unsigned int add(unsigned int a, unsigned int b)
{
if (0 == b) return a;
unsigned int c = a ^ b;
// carray
unsigned int d = (a & b)<<1;
return add(c, d);
}
不用加减乘除,求两数和,无符号数.
unsigned int add(unsigned int a, unsigned int b)
{
if (0 == b) return a;
unsigned int c = a ^ b;
// carray
unsigned int d = (a & b)<<1;
return add(c, d);
}