C 語言位運算

2021-09-30 20:31:18 字數 873 閱讀 4183

所謂位運算,就是對乙個位元(bit)位進行操作。位元(bit)是乙個電子元器件,8 個位元構成乙個位元組(byte),它已經是粒度最小的可操作單

元了。c 語言提供了六種位運算子:

按位與運算

乙個位元(bit)位只有 0 和 1 兩個取值,只有參與&運算的兩個位都為 1 時,結果才為 1,否

則為 0。

按位或運算

參與或運算|的兩個二進位制位有乙個為 1 時,結果就為 1,兩個都為 0 時結果才為 0。例如 1|1

為 1,0|0 為 0,1|0 為1。

按位異或運算

參與異或運算^的兩個二進位制位不同時,結果為 1,相同時結果為 0。也就是說,0^1 為 1,0^0

為 0,1^1 為 0。

取反運算

取反運算子~為單目運算子,右結合性,作用是對參與運算的數的各二進位按位取反。例如 ~1

為 0,~0 為1。

左移運算

左移運算子《用來把運算元的各二進位全部左移若干位,高位丟棄,低位補 0。

右移運算

右移運算子》用來把運算元的各二進位全部右移若干位,低位丟棄,高位補 0(或 1)。

需要注意的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補 0,而為 負數時,符號位為1,最高位是補 0 或是補1

取決於編譯器的規定。

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,則該位...