複習C語言 位運算

2021-08-03 00:23:38 字數 835 閱讀 2753

0x01:按位與(&)

作用:1)清零。如果想讓乙個單元清零,即使其全部二進位制位為0

2)取乙個數中某些指定位。即將想要的那些位置1.

例:如有乙個整數a(2個位元組),想要其中的低位元組,只需將a與(377,8進製 == 00000000 11111111)按位與即可。

3)要想將哪一位保留下來,就與乙個數&運算,此數在該位取1.

0x02:按位或(|)

作用:常用來對乙個資料的某些位定值1,例:a(16位整數),a|0377,則低8位全置1,高8位保持原樣

0x03:異或(^)

作用:1)使特定位翻轉

假設有01111010,想使其低4位翻轉,即1變0,0變1,。可以將它與00001111進行^運算。

2)與0相^保留原值

3)交換兩個值,不用臨時變數

假設a=3,b=4

a=a^b;

b=b^a;

a=a^b;

0x03:取反(~)

作用:若乙個整數,若想使最低一位為0,可以用一致性較好的a=a&~1;(~運算子優先順序比算術運算子,關係運算子,邏輯運算子和其他運算子都高)

0x03:左移(<<)

作用:高位左移後溢位,捨棄.

一般用來取低位

0x04:右移(>>)

作用:低位右移後被捨棄,對無符號數,高位補0

一般用來取低位

右移一位相當於除以2,右移n位相當於除以2的n次方

注意:在右移時,需要注意符號位的問題。對無符號數,右移時左邊高位移入0,對於有符號數,如果原來符號位為0(該數為正),則左邊也是移入0,如果符號位原來為1(即負數),則左邊移入0還是1,取決於計算機系統。

C語言複習0 2 位運算

可以使用c對變數中的個別位進行操作。您可能對人們想這樣做的原因感到奇怪。這種能力有時確實是必須的,或者至少是有用的。c提供位的邏輯運算子和移位運算子。在以下例子中,我們將使用二進位制計數法寫出值,以便您可以了解對位發生的操作。在乙個實際程式中,您可以使用一般的形式的整數變數或常量。例如不適用0001...

c 語言的位運算子複習

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

c語言位運算

c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0 按位或 兩個相應的二進位制位中只要有乙個為1,該位的結果值為1 按位異或 若參加運算的兩個二進位制位值相同則為0,否則為1 取反 是一元運算子,用來對乙個二進位制數按位取反,即將0變1...