public static int avg(int a,int b) {
return (a&b) + (a^b)>>1;
}
**(9&7)+((9^7)>>1)**9和7,,9的二进制数是00001001,7的二进制数是00000111,9&7为00000001,9&7上面已经算出来了:00000001,也就是1,再右移一位就是00000111,十进制数为7,7+1就是9和7的平均数了,&将两个数
一样的部分提出来一半,异或将两个数不一样的数提出来了,再右移一位,相当于提出来了一半,将他们相同的和不
相同各提出来一半就是平均数