推荐两篇写的比较好的博文!
1.http://blog.csdn.net/tianjian9900/article/details/41620407
2.http://blog.csdn.net/eeeduo/article/details/39182973
//位运算实现加减法
#include <stdio.h>
int add(int a, int b)
{
if(b==0)
return a;
else
{
int sum = a^b; //按位异或
int carry = (a&b)<<1; //按位与 左移
return add(sum,carry);
}
}
int negative(int a) {
return ~a + 1;
}
int Minus(int a, int b) {
return add(a, negative(b));
}
int main()
{
int a = 10, b = 15;
printf("%d\n",add(a,b));
printf("%d",Minus(a,b));
return 0;
}