位操作带来的快速的运算,下面是一些位操作的小技巧
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 ; //相同 }