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<<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#


















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章