您的位置:首页 > 其它

bit 的 一些有用的操作

2009-11-03 20:31 239 查看
ALL_BITS 是所有的位都为1

A: 1000 0010
B: 1100 1100

1.对A的所有位取反

ALL_BITS ^ A

2.将A的第bit位(最右边是第0位)设置为1

A |= 1 << bit 例如bit=3 则1<<bit=1000 则A|1000=1000 1010

3.将A的第bit位清0

A &= ~(1 << bit) 例如bit=1 则~(1<<bit)=1101 则A&1101=1000 0000

4.测试第bit位是否为0
(A & 1 << bit) != 0

5.除了A的最低位的第一个1,其余全部清0
x
& ~(x - 1)

6.一个数是2的指数幂当且仅当只有一个bit是1

7.a<<b : 当b>=a所占比特数的时候,C99说,结果是未定义的,这个行为同样适用于Java 和 C#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: