#### **1. Check if the integer is even or odd** ``` if ((x & 1) == 0) { x is even } else { x is odd } ```
#### **2. Test if the n-th bit is set** ``` if (x & (1 << n)) { n-th bit is set } else { n-th bit is not set } ```
#### **3. Set the n-th bit** ``` y = x | (1 << n) ```
#### **4. Unset the n-th bit** ``` y = x & ~(1 << n) ```
#### **5. Toggle the n-th bit** ``` y = x ^ (1 << n) ```
#### **6. Turn off the rightmost 1-bit,将最右边的1清零** ``` y = x & (x - 1) ```
#### **7. Isolate the rightmost 1-bit,留下最右边的1,其余位都置为0** ``` y = x & (-x) ```
#### **8. Right propagate the rightmost 1-bit,将最右边的1的右边全部置为1** ``` y = x | (x - 1) ```
#### **9. Isolate the rightmost 0-bit,将最右边的0置为1,其余位都置为0** ``` y = ~x & (x + 1) ```
#### **10. Turn on the rightmost 0-bit,将最右边的0置为1** ``` y = x | (x + 1) ```