位運算:針對二進位制位運算
& 按位與
:對應的二進位制位上,乙個為0就是
0,全1才為
1 一假則假
| 按位或
對應的二進位制位上,乙個為1就是
1,全0才為
0 一真則真
^ 按位異或
對應的二進位制位上,不同為
1,相同為0
1、多個數相互異或交換順序結果不變(類似加法交換律) 2
、任何數異或上
0都是原來的數 3
、相同的數相互異或結果為0
~ 按位取反
:對應的二進位制位上,0變
1,1變
0 >>
右移m >> n : m
向右移動n位
:移出來的位直接刪掉,移入位補符號位
(正數補
0,負數補1)
使用場景:快速計算乙個數除以2的
n次方,對於乙個整數來說右移幾位就是除以
2幾次方
<<
左移m << n : m
向左移動
n位,移出來的位直接刪掉,移入位補0
左移可能會改變符號位
使用場景:當數比較小時候,可以快速的計算這個數乘以
2多少次方
int main(int argc, const char * argv)
二進位制位運算
與運算,6 3 2 或運算 6 3 7 異或運算 6 3 5 反碼 6 7 左移 3 2 12 3 2 2 12 右移 3 1 1 3 2 1 無符號右移 3 1 1 3 2 1 按位與,當兩位同時為1時才為1如 1 1 1 1 0 0 0 1 0 6 3相當於 0110 0011 0010 2 按...
二進位制位運算
一 按位與 位全為1,結果才為1 0 0 0 0 1 0 1 0 0 1 1 1 特殊用法 清零。如果想將乙個單元清零,就是使其全部二進位制位為0,只要與乙個各位都為零的數值相與,結果為零 取乙個數中的指定位。如x 10101110要取x的低4位,用x 00001111 00001110即可 二 按...
二進位制的位運算
按位與 兩位全為1,結果為1 特殊用途 1 清零,想要將乙個單位清零,只要與乙個各位都為零的數值相與,結果為零 2 去乙個數中的指定位 如 x 10101110,取x的低四位用x 0000 1111 0000 1110即可得到 方法 找到乙個數,對應x要取的位,該數的對應位為1,其餘位為0,用此數與...