bit 的 一些有用的操作

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<

3.将A的第bit位清0
A &= ~(1 << bit)  例如bit=1 则~(1<

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

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

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

7.a<=a所占比特数的时候,C99说,结果是未定义的,这个行为同样适用于Java 和 C#


















你可能感兴趣的:(算法与数据结构,java,c#,测试,c)