位运算相关规律

1  x =x & (x-1) 循环 得到的是x中二进制表示1的个数  与运算只保留都是1的数

2  利用位运算完成加法  x+y  

  先异或,不考虑进位的加, 然后位与运算,看是否有进位,有进位,左移一位,如此循环,当没有进位的时候就是其和

3 判断一个数是否是2N 次方  !(x &(x-1))

4 与运算取得是相同的一部分

     异或运算取得是不相同的一部分,异或两次是本身

     X&Y   +  X^Y>>1   为X+Y和的一半

 

 5 a b 交换

    a=a^b ;  b=a^b; a=b^a;

 6  a b 最大值

     int max=(a-b + abs(a-b))/2

posted @ 2013-08-05 16:38  youhumian  阅读(594)  评论(0编辑  收藏  举报