C 019 二進位制的位運算

2021-07-08 12:44:39 字數 712 閱讀 5541

位運算:針對二進位制位運算

& 按位與

:對應的二進位制位上,乙個為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,用此數與...