1.不用临时变量交换两个数
void swap(int *a,int *b){
(*a)^=(*b)^=(*a)^=(*b);
}
即:
a ^= b;
b ^= a;
a ^= b;
2.乘以2的m次方
int mulTwoPower(int n,int m){//计算n*(2^m)
return n<<m;
}
3.判断一个数的奇偶性
bool isOddNumber(int n){
return (n & 1) == 1;
}
4.判断一个数是不是2的幂
bool isFactorialofTwo(int n){
return (n & (n – 1)) == 0;
}
5.求两个整数的平均值
int getAverage(int x, int y){
return (x+y) >> 1;
}