位操作 (Bit Manipulation)#
位操作是直接對二進位位進行的運算,在演算法優化和底層開發中極為重要。
為什麼要學習位操作?#
計算機底層完全基於二進位運算,直接使用位操作能:
- 避免進位制轉換開銷
- 執行速度極快(硬體原生支援)
- 節省記憶體空間
章節概覽#
| 主題 | 內容 |
|---|---|
| 位操作基礎 | 基本運算符、常用技巧、經典公式 |
| 位操作應用 | Hamming Weight、2 的冪次、N 皇后優化 |
常用位運算符速查#
| 運算符 | 名稱 | 規則 |
|---|---|---|
& | AND | 兩位都為 1 才為 1 |
| | OR | 有一位為 1 就為 1 |
^ | XOR | 相異為 1,相同為 0 |
~ | NOT | 0 變 1,1 變 0 |
<< | 左移 | 左移 n 位 = 乘以 2^n |
>> | 右移 | 右移 n 位 = 除以 2^n |
熟記三個核心技巧:
x & 1:判斷奇偶x & (x-1):清除最低位的 1x & -x:取得最低位的 1