位運算簡單操作
功能 | 例項 | 運算 |
去掉最後一位 | 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)) |
相關文章
- ACM 16進位制的簡單運算ACM
- 16進位制的簡單運算(迴圈)
- 位運算的操作與演算法演算法
- 簡單混合運算的計算器
- Java簡單四則運算Java
- 二進位制、位運算、位移運算
- (位運算)兩個字串的位運算字串
- 簡單電路實踐——電路與二進位制運算
- 位運算
- C#運算元據庫進行簡單的增加修改操作C#
- javascript除法運算簡單介紹JavaScript
- js短路運算簡單介紹JS
- 理解位運算
- SQL位運算SQL
- 使用位運算進行加法運算
- javascript求餘運算簡單介紹JavaScript
- javascript取模運算簡單介紹JavaScript
- python中字串基本操作以及三種位運算Python字串
- NumPy 簡單算術:加減乘除及其他運算
- 學習位運算
- PHP 位運算使用PHP
- 位運算進階
- 位運算總結
- 巧用JS位運算JS
- 位運算-異或(^)
- 演算法(3)簡單四則運算演算法
- java二進位制運算十進位制(精確運算)Java
- 運算整數C/C++位運算技巧C++
- 計算機基礎:位運算計算機
- 什麼?你還不會用位運算來操作狀態?
- 【VB超簡單入門】八、四種運算
- JS中的位運算JS
- Java位運算小節Java
- Java中的位運算Java
- 位運算的應用
- ~ 按位取反運算解析
- iOS 開發 – 位運算iOS
- 位運算子的計算