位運算(對每個二進位制位進行操作)
程式中的所有數在計算機記憶體中都是以二進位制的形式
儲存的。位運算說穿了,就是直接對整數在記憶體中的二進位制位進行
操作。比如,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,這取決...