位運算簡單操作
功能 | 例項 | 運算 |
去掉最後一位 | 101101->10110 | x >> 1 |
在最後加一個0 | 101101->1011010 | x << 1 |
在最後加一個1 | 101101->1011011 | (x << 1) + 1 |
把最後一位變成1 | 101100->101101 | x | 1 |
把最後一位變成0 | 101101->101100 | (x | 1) - 1 ; x & (~1) |
最後一位取反 | 101101->101100 | x ^ 1 |
把右數第k位變成1 | 101001->101101,k=3 | x | (1 << (k - 1)) |
把右數第k位變成0 | 101101->101001,k=3 | x & (~(1 << (k - 1))) |
右數第k位取反 | 101001->101101,k=3 | x ^ (1 << (k - 1)) |
取末三位 | 1101101->101 | x & 7 |
取末k位 | 1101101->1101,k=5 | x & ((1 << k) - 1) |
取右數第k位 | 1101101->1,k=4 | (x >> (k - 1)) & 1 |
把末k位變成1 | 101001->101111,k=4 | x | ((1 << k) - 1) |
末k位取反 | 101001->100110,k=4 | 1 ^ ((1 << k) - 1) |
把右邊連續的1變成0 | 100101111->100100000 | x & (x + 1) |
把右起第一個0變成1 | 100101111->100111111 | x | (x + 1) |
把右邊連續的0變成1 | 11011000->11011111 | x | (x - 1) |
取右邊連續的1 | 100101111->1111 | (x ^ (x + 1)) >> 1 |
去掉右起第一個1的左邊 | 100101000->1000 | x & (x ^ (x - 1)) |
相關文章
- 16進位制的簡單運算(迴圈)
- 位運算子之---按位取反運算子(簡單易懂)
- 位運算的操作與演算法演算法
- 簡單混合運算的計算器
- Java簡單四則運算Java
- 二進位制、位運算、位移運算
- 位運算
- python中字串基本操作以及三種位運算Python字串
- 位運算 --20240310
- 理解位運算
- 使用位運算進行加法運算
- NumPy 簡單算術:加減乘除及其他運算
- 82. 落單的數 ( 位運算-統計 )
- day14.邏輯運算,位運算
- 演算法(3)簡單四則運算演算法
- PHP 位運算使用PHP
- 位運算小結
- 位運算-異或(^)
- 位運算總結
- 【SSLOJ 3348】位運算
- 巧用JS位運算JS
- 學習位運算
- 位運算進階
- java二進位制運算十進位制(精確運算)Java
- 什麼?你還不會用位運算來操作狀態?
- 計算機基礎:位運算計算機
- Java中的位運算Java
- 位運算子的計算
- 神奇的位非運算
- JS中的位運算JS
- 位運算的應用
- Java位運算小節Java
- C語言位運算C語言
- Flink -- Operator操作運算元
- Nginx簡單操作Nginx
- c語言關於陣列的簡單運算C語言陣列
- 位運算與SQL實現SQL
- 1的個數 【位運算】