位運算小結

2021-08-24 22:50:01 字數 813 閱讀 7716

當你做乙個非常大的數的乘除運算時,你就會為位運算感嘆,為之驚人的速度而感動!下面是我總結的一點點位運算的應用:

位運算子有:&(按位與)、|(按位或)、^(按位異或)、~ (按位取反)。

優先順序從高到低,依次為~、&、^、|。

1. 左移1位相當於乘以2 << 左移2位相當於乘以4 依次類推左移n位相當於乘以2^n;(注意:兩個運算元必須是int)

2. 右移1位相當於除2 >>右移2位相當於乘以4 依次類推左移n位相當於除2^n;

(注意:兩個運算元必須是int,必須用於整除,結果也是整型的,不會保留小數部分).

3. 異或運算^:同為0,異為1

3.1應用 (只能用於整數)相同的兩個整數作^運算結果為0。

3.2只能用於整數 0異或^其它任意整數等於該整數本身。(西南科大oj 1424 find different)。

3.3不用設定中間變數,用於交換兩個整數的位置。

int a = 9 ; int b = 2;

a = a ^ b;

b = b ^ a;

a = a ^ b;

4. 二進位制的最末位為0表示該數為偶數,最末位為1表示該數為奇數.

判斷int型變數a是奇數還是偶數,尤其是對大數的判斷

a&1 == 0 偶數

a&1 == 1 奇數

5. 利用與運算可以求出乙個int變數裡面有多少個1

sum裡面存的就是該數對應的二進位制中1的個數。

int a = 4095;

int sum = 0;

while(a > 0)

cout << sum <

位運算小結

聽attack學長講完課,整理一波 1 1 1,1 0 1,0 0 0 1 1 1 1 0 0,0 0 0 1 bigoplus 1 0,1 bigoplus 0 1,0 bigoplus 0 0 異或性質 1.a bigoplus a 0 2.a bigoplus 0 a 3.a bigoplus...

位運算小結及位運算題目小練

按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 舉例 9 00001001 5 00000101 1 00000001 00001001 ...

C 位運算子小結

位 與 and 位 異或 位 或 or 位 取反 2 移位運算子 右移 優先順序位 與 位 或 和位 異或 運算子都是雙目運算子,其結合性都是從左向右的,優先順序高於邏輯運算子,低於比較運算子,且從高到低依次為 0 1 0 0 0 0 1 0 0 1 1 1 00100 運算通常用於二進位製取位操作...