位運算用法總結

2021-07-25 04:45:14 字數 1188 閱讀 7412

位運算(對每個二進位制位進行操作)

程式中的所有數在計算機記憶體中都是以二進位制的形式

儲存的。位運算說穿了,就是直接對整數在記憶體中的二進位制位進行

操作。比如,and運算本來是乙個邏輯

運算子,但整數與整數之間也可以進行and運算。舉個例子,6的二進位制是110,11的二進位制是1011,那麼6 and 11的結果就是2,它是二進位制對應位進行邏輯運算的結果(0表示false,1表示true,空位都當0處理)。

eg:110and 1011

---------------

0010 --> 2

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

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

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

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

<< 左移       用來將乙個數的各二進位制位全部左移n位,右補0

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

1)& 與運算

#include #include using namespace std;

//或運算

int main()

3)^異或運算 (他的規則是:若參加運算的兩個二進位制位值相同則為0,否則為1)

#include

#include

using namespace std;

//或運算

int main()

{int x = 3^5;//3(00000011)5(00000101)->(00000110)

cout<4)~取反運算

5)>>右移,《左移 運算子

#include #include using namespace std;

//或運算

int main()

{ int x = 1;// 1(00000001)

x = x<<5;//左移5位 00100000-》2的5次方

cout<>4;//右移4位 (00000010)-》2的1次方

cout<

位運算有這很多重要的應用,由於昨天聽到學長說起,所以在此只是記錄簡單的規則用法,便於理解。

位運算總結

位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作 運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位...

位運算總結

位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作 運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位...

位運算總結

一 優先順序 高 低 算術運算子 關係運算子 賦值 二 移位運算 要點 1 它們都是雙目運算子,兩個運算分量都是整形,結果也是整形。2 左移 右邊空出的位上補0,左邊的位將從字頭擠掉,其值相當於乘2。3 右移 右邊的位被擠掉。對於左邊移出的空位,如果是正數則空位補0,若為負數,可能補0或補1,這取決...