C語言入門 位運算

2021-07-09 01:42:28 字數 762 閱讀 1756

在進行如何位運算之前,首先應將任何表示式的結果轉換成二進位制,計算完之後再轉換成原來的進製即可得到運算結果,不能對浮點數進製運算。

按位與(&):兩個位都為1,結果才為1。

作用:

●清零:要將某一位清零,可將相應為設定為0.其他位為1,再使用按位與運算。

●取指定位:想取某一位,可將相應的位設定為1,其他位為0,再使用按位與運算。

按位或(|):有乙個位為1,結果就為1。

作用:將某位設定為1:可以將相應的位設定為1,再使用按位或運算。

按位異或(^):兩個位不同,結果為1,否則為0。

任何數與自己異或都為0,任何數與0異或值不變。

作用:

●翻轉位,要將某一位翻轉,可將相應的位設定為1,第一次用按位異或運算,可將其翻轉,第二次用按位異或又可將其翻轉回來。

●不用臨時變數交換兩個變數的值。a=a^b;b=b^a;a=a^b;

按位取反(~):將每一位都取反。

左移(<<)

格式:二進位制 << 要移動的位數

作用:將二進位制左移一定的位數,最右邊補0,任何一位移出左邊界,自動丟棄。不越界的左移一位相當於變數值乘以2。

右移(>>)

格式:二進位制 >> 要移動的位數

作用:將二進位制右移一定的位數,最左邊補0(或1,如果要移的數是負數,最左邊符號位為1,右移的時候左邊自動補1),任何一位移出右邊界,自動丟棄。不越界的右移相當於讓變數除以2。

位運算的優先順序:~ 高於 << >> 高於 & 高於 ^ 高於 |

c語言位運算

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

C語言位運算

c語言位運算 位運算應用口訣 清零取反要用與,某位置一可用或 若要取反和交換,輕輕鬆鬆用異或 移位運算 1 它們都是雙目運算子,兩個運算分量都是整形,結果也是整形。2 am p 3 amp amp amp qu ot 右 移 右邊 的位被擠 掉。對於 左邊移出 的空位,如果是正 數則空位 補0,若 ...

C語言位運算

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