位运算与加减法

来源:互联网 发布:讲你知歌词 编辑:程序博客网 时间:2024/05/06 12:55
位运算实现加法:

int add1(int num1 ,int num2){ int sum, carry; do {  sum = num1 ^ num2;  carry = (num1 & num2) << 1;    num1 = sum;  num2 = carry; } while(num2 != 0);     return num1; }int add(int a,int b){ int sum = a ^ b; int var = a & b; return !var ? sum : add(sum , var<<1);}



位运算实现减法
int subtract1(int a ,int b){ if(!b)  return a; else {  int  bit = a & b;  a^= bit;  b^= bit;  a|=b;  subtract1(a,b<<1); } }



原创粉丝点击