C語言中的位運算

2021-04-20 19:15:51 字數 732 閱讀 8206

c語言中的位運算有六個:按位與(&),按位或(|),按位異或(^),取反(~),左移(<<),右移(>>)。除~以外其餘均為二元運算子,即要求運算子兩側均有乙個運算量;位運算量只能為整型或字元型,不能為實型資料。

1.按位與&

0&0=0 0&1=0 1&0=0   1&1=1;

3&5=(00000011)&(00000101)=00000001=1

&的特殊用途有以下:

(1)清零。如原有數00101011,則另找一數(不一定唯一)10010100與原來的數進行&運算即得結果0。

(2)取乙個數中某些指定的位。

(3)保留某些位數。

2.按位或|

0|0=0 0|1=1 1|0=1 1|1=1

例如求067|017

將八進位制數60與八進位制數17進行按位或運算得00110000|00001111=00111111.

3.按位異或^

0^0=0   0^1=1 1^0=1   1^1=0

按位異或有以下用途:

(1)使特定位翻轉,只需取好值即可。

(2)與0相^保留原值。

(3)交換兩個值而不必採用臨時變數。交換a和b:a=a^b;b=b^a;a=a^b。

4.取反~

使各位0變為1,變為0

5.左移<<

左移比乘法運算快得多,有些系統自動將乘以2用左移一位來實現。

6.右移》

a>>2表示將a的各位右移2位。

C語言中的位運算

0 推薦 在電腦程式中,資料的位是可以操作的最小資料單位,理論上可以用 位運算 來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做資料變換使用,但是,靈活的位操作可以有效地提高程式執行的效率。c語言提供了位運算的功能,這使得c語言也能像組合語言一樣用來編寫系統程式。位運算子c語言提供了六種...

C語言中的位運算

在電腦程式中,資料的位是可以操作的最小資料單位,理論上可以用 位運算 來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做資料變換使用,但是,靈活的位操作可以有效地提高程式執行的效率。c語言提供了位運算的功能,這使得c語言也能像組合語言一樣用來編寫系統程式。位運算子c語言提供了六種位運算子 ...

C語言中的位運算

在電腦程式中,資料的位是可以操作的最小資料單位,理論上可以用 位運算 來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做資料變換使用,但是,靈活的位操作可以有效地提高程式執行的效率。c語言提供了位運算的功能,這使得c語言也能像組合語言一樣用來編寫系統程式。c語言中的位運算 在電腦程式中,資...