位操作带来的快速的运算,下面是一些位操作的小技巧
1.求一个数的绝对值
unsigned int myabs(int a){
if(a>0)
return (unsigned int)a;
if(a<0)
return 0-(unsigned int )a ;
}
2.判断两个整数是否同号
bool check(int a,int b){
if((unsigned int)(a^b) >>31) //a^b a与B的符号位也会参与位运算
return false ; //不同
return true ; //相同
}