簡單位運算

2022-06-19 07:15:08 字數 858 閱讀 6110

判斷奇偶,二進位制的運算,組合的遍歷......等問題都要用到位運算,所以做個小記錄。

& 按位與      如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0。

| 按位或      兩個相應的二進位制位中只要有乙個為1,該位的結果值為1。

^ 按位異或    若參加運算的兩個二進位制位值相同則為0,否則為1。

~ 取反        ~是一元運算子,用來對乙個二進位制數按位取反,即將0變1,將1變0。

<< 左移       用來將乙個數的各二進位制位全部左移n位,右補0。(相當於乘以2)

>> 右移       將乙個數的各二進位制位右移n位,移到右端的低位被捨棄,對於無符號數,高位補0。

位運算子與賦值運算子可以組成復合賦值運算子。

例如: &=, |=, >>=, <<=, ∧=

例:  a & = b

相當於 

a = a & b

a << =2相當於

a = a << 2

例題和**。

組合的遍歷

#include#include

intmain()

else

str[k]='.'

;//如果&1!=1就用其他的字元佔位

k++;

pl>>=1

;//下一位

}for(int j=9;j>=0;j--)

printf("\n

");}

printf("\n

");}

return0;

}

不知道自己這樣想對不對,總之是這樣的思路,如果有錯的地方歡迎斧正。

碼題:137. single number ii

簡單位運算入門

左移右移 int x x i 除以2 i,強制取整 x i 乘以2 i 求乙個數的二進位制位中第k位的值 0 or 1?lowbit函式 返回整數的最後一位二進位制對應的數 是樹狀陣列,線段樹的乙個重要組成部分 0 00000 對應0 1 00001 對應1 2 00010 對應2 3 00011 ...

二進位制簡單位運算

位運算的基本運算子有 按位與 按位或 異或 左移 右移 求反 對於異或運算子 只有不一樣時才為真 一樣的時候為假。左移右移 若將乙個數擴大2 n倍,最簡單的辦法是將該數二進位制左移n位。左移的時候右邊補0,右移的時候左邊補符號位,即左邊空出的位用0或者1填補。正數用0填補,負數用1填補。按位與 同為...

c簡單位操作

c語言中位運算子之間,按優先順序順序排列為 1 2 3 4 5 6 一 第i位替換 description 編寫程式,使得函式返回值為乙個整數,該整數的第i位和m的第i位相同,其他位和n相同。使用bitmanipulation1函式。input 第一行是整數 t,表示測試組數。每組測試資料報含一行,...