//利用二进制位中相同的值 加上 不同的值的1/2,从而达到求取平均值的效果。
#include<stdio.h>
int main(){
int average(int, int);
int a = 10, b = 20;
//0000 1010; 0001 0100
int c = average(a, b);
printf("%d\n", c);
printf("The average of %d and %d is %d.\n", a, b, average(a, b));
system("pause");
return 0;
}
int average(int x, int y){
return (x&y) + ((x^y) >> 1);
}