位运算实现求平均值:
(x^y)>>1//求不同位的一半
(x&y)//求相同值位的一半
(x&y)+(x^y)>>1
位运算实现求两个值得和
int add(int x, int y){
if (y == 0)
return x;
int yy = (x&y) << 1;//带进位的加法
int xx = (x^y);//不带进位加法
return add(xx, yy);
}
位运算实现求平均值:
(x^y)>>1//求不同位的一半
(x&y)//求相同值位的一半
(x&y)+(x^y)>>1
位运算实现求两个值得和
int add(int x, int y){
if (y == 0)
return x;
int yy = (x&y) << 1;//带进位的加法
int xx = (x^y);//不带进位加法
return add(xx, yy);
}