C語言之位運算

2022-10-11 03:18:09 字數 561 閱讀 6160

指標和位運算很適合編寫系統軟體的需要。

位運算指進行二進位制位的運算。

按位與」運算子 & 用途

1)清零

2)取乙個數中某些指定位(比如只需要低8位)

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

按位或 |

按位異或(xor) ^ 同0異1

1)使特定位翻轉

2)與0相異或,保留原值

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

//假如a=3,b=4。將a和b交換值

a=a^b;

b=b^a;

a=a^b;

b=b^(a^b)=a^b^b=a;( b^b=0)

a=a^b^(b^a^b)=a^a^b^b^b=b;

取反運算 ~(單目運算子)

左移運算子 <<

將乙個數的各二進位制位全部向左移若干位

a = a<<2;(向左移2位)

高位左移後溢位,捨棄。

右移運算子 >>

移到右端的低位被捨棄,對於無符號數,高位補0;

算術右移(補1)和邏輯右移(補0);

C語言之位運算詳解

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

C語言之位運算子

位運算子分析 1.c語言中的位運算子 c語言中的位運算子直接對bit位進行操作,其效率最高。速度快於四則運算和邏輯運算。2.左移和右移的注意點 左運算元必須為整數型別 char和short被隱式轉換為int後進行移位操作 右運算元的範圍必須為 0,31 左移運算子 將運算數的二進位制位左移 規則 高...

易語言 之位運算

一 函式列表 易語言示例 作用整數型 位取反 將指定數值每乙個位元位的值取反後返回 整數型 位與 如兩個數值有某共同位元位為1,則返回值的對應位也為1,否則為0 整數型 位或 如兩個數值中有乙個數值的某一位元位不為零,則返回值的對應位就為1,否則為0 整數型 位異或 如兩個數值對應位元位的值不相等,...