按位運算子

2021-07-24 11:46:42 字數 691 閱讀 1652

基本運算子:

&:按位與運算子,可以對變數s的特定位清零,

這時可以設定乙個變數mask,將mask中的特定位賦值為0,其他位置為1,然後作運算「s = s&mask」,即可特定位清零。

使用按位與運算,可以取變數s的指定位的值,這時可以設定乙個變數mask,將mask中的指定位賦值為1,其他位置賦值為0,然後作運算「s = s&mask」,即可取指定位的值

| :按位或運算子,經常用按位或運算將乙個變數s的某些位變為1,而其他位不變。這時可以設定乙個變數mask,讓mask中的特定位的賦值是1,其他位賦值為0,然後作運算「s         = s|mask」,即可。

^ :按位異或,可以使用按位異或運算讓乙個變數s的特定位的值取反,方法是:設定乙個變數mask,讓mask中的特定位的賦值是1,其他位賦值為0,然後作運算「s = s^mask」

《或》 :將變數x左移n位,在不丟失有效數字的情況下,相當於將x乘以2的n次方。

關於位段運算:

1、位段的型別只能是int,unsigned int , signed int 3種型別,不能是其他型別。

2、位段所佔的二進位制位數不能超過該基本型別所能表示的最大位數。

3、無名位段不能被訪問,但是會佔據空間。

4、不能對位段進行取位址操作。

5、若位段佔的二進位制位數為0,則這個位段必須是無名位段,這表示下乙個位段從下乙個儲存單元開始存放。

按位運算子

1.按位取反或者二進位制補碼 把1變為0,把0變為1 2.按位與 任何位與0組合都為0,任何位與1組合都為本身 應用 關閉位 清空位 需要開啟乙個值中的特定位,同時保持其他位不變 所有位為0 把1變為0,其餘位不變。假設有乙個二進位制數00011010 從左到右的第4位1表示開關,現在要關閉開關 置...

按位運算子

部分參考scdxmoe的部落格 c語言提供了6個位操作運算子。這些運算子只能作用於整數運算元,及只能作用於帶符號或無符號的char,short,int,long型別。或運算 應用 常用來對乙個資料的某些位置1。方法 找到乙個數,對應x要置1的位,該數的對應位為1,其餘位為零。此數與x相或可使x中的某...

按位運算子

參加運算的兩個資料,按二進位制位進行 與 運算。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0 例如 3 5 即 0000 0011 0000 0101 0000 0001 因此,3 5的值得1。另,負數按補碼形式參加按位與運算。與運算 的特殊用...