1 // 判断一个数是否为2的n次幂
 2 return !(a & (a-1))
 3 // 简单移位操作
 4 a<<1 == a*2
 5 a>>1 == a/2
 6 // 异或操作<相同取反>
 7 a^a==0 a^0==a
 8 // 把右数第k位变成1
 9 a | (1<<(k-1))
10 // 把右数第k位变成0
11 a & (!(1<<(k-1)))
12 // 第k位取反
13 a ^ (1<<(k-1))
判断一个数二进制中1的个数是奇数还是偶数:
x = x ^ (x>>1);    x = x ^ (x>>2);    x = x ^ (x>>4);    x = x ^ (x>>8);    x = x & 1;    //x==0为偶;相邻性质.


 posted on 2011-05-30 16:15  eth0  阅读(150)  评论(0编辑  收藏  举报