位運算常被用於二進位制的運算,例如利用子網掩碼計算ip位址,把擋住的字段作為網段,其餘的作為ip位址
與運算的結果如下,兩邊同時為1,則結果為1
0&0=0,0&1=0,1&0=0,1&1=1
非運算即取反運算,在二進位制中1變0,0變1
110101進行非運算後為
001010即1010
只要兩邊有乙個是1,結果就是1
或運算的方式如下
0|0=0,0|1=1,1|0=1,1|1=1
簡單理解就是,同為假,異為真
0^0=0,0^1=1,1^0=1,1^1=0
可以看出,任何數與0異或,結果都是其本身。利用異或還可以實現乙個很好的交換演算法,用於交換兩個數,演算法如下:
1 a = a ^b;2 b = b ^a;
3 a = a ^ b;
位基本運算 一
首先明確 基本位運算規則,不依賴正負.定義 對於a,b兩個位向量 aw 1,aw 2,a0 和 bw 1,bw 2,b0 將a b定義為乙個長度為w的位向量,其中第i個元素等於ai bi,0 i 0 leq i 0 i w w.類似 定義同理.對應位全部為1,對應結果位為1,否則為0.0110 11...
基礎演算法 位運算 基本運算
1.移動 左移n位 乘以2的n次方 右移n位 除以2的n次方 0 左移n位 在1後面加上n個0 注 0不等於1。等於11 11 x 0 正數左移右邊補0 正數右移左邊補0 負數左移右邊補1 負數右移左邊補1 移動的作用總結 乘2,除2。右n位清零 2.異或 x 0 x x x 0 x 1 x x x...
位運算中的基本騷操作
計算機中的數在記憶體中都是以二進位制形式進行儲存的,用位運算就是直接對整數在記憶體中的二進位制位進行操作,因此其執行效率非常高,在程式中盡量使用位運算進行操作,這會大大提高程式的效能。1.交換兩值 void swap int a,int b 位與操作 void swap int a,int b 2....