- C語言位運(yùn)算和sizeof運(yùn)算符詳解 推薦度:
- 相關(guān)推薦
C語言位運(yùn)算詳解
位運(yùn)算是指按二進(jìn)制進(jìn)行的運(yùn)算。在系統(tǒng)軟件中,常常需要處理二進(jìn)制位的問題。C語言提供了6個位操作運(yùn)算符。這些運(yùn)算符只能用于整型操作數(shù),即只能用于帶符號或無符號的char,short,int與long類型。以下是關(guān)于C語言位運(yùn)算詳解內(nèi)容,歡迎參考學(xué)習(xí)!
位運(yùn)算是指按二進(jìn)制進(jìn)行的運(yùn)算。在系統(tǒng)軟件中,常常需要處理二進(jìn)制位的問題。C語言提供了6個位操作運(yùn)算符。這些運(yùn)算符只能用于整型操作數(shù),即只能用于帶符號或無符號的char,short,int與long類型。
C語言提供的位運(yùn)算符列表:
運(yùn)算符含義描述
& 按位與 如果兩個相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果值為1,否則為0
| 按位或 兩個相應(yīng)的二進(jìn)制位中只要有一個為1,該位的結(jié)果值為1
^ 按位異或 若參加運(yùn)算的兩個二進(jìn)制位值相同則為0,否則為1
~ 取反 ~是一元運(yùn)算符,用來對一個二進(jìn)制數(shù)按位取反,即將0變1,將1變0
<< 左移 用來將一個數(shù)的各二進(jìn)制位全部左移N位,右補(bǔ)0
>> 右移 將一個數(shù)的各二進(jìn)制位右移N位,移到右端的低位被舍棄,對于無符號數(shù), 高位補(bǔ)0
1、“按位與”運(yùn)算符(&)
按位與是指:參加運(yùn)算的兩個數(shù)據(jù),按二進(jìn)制位進(jìn)行“與”運(yùn)算。如果兩個相應(yīng)的二進(jìn)制位都為1,
則該位的結(jié)果值為1;否則為0。這里的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其
實(shí)與邏輯上“與”的運(yùn)算規(guī)則一致。邏輯上的“與”,要求運(yùn)算數(shù)全真,結(jié)果才為真。若,
A=true,B=true,則A∩B=true 例如:3&5 3的二進(jìn)制編碼是11(2)。(為了區(qū)分十進(jìn)制和其他進(jìn)制,本文規(guī)
定,凡是非十進(jìn)制的數(shù)據(jù)均在數(shù)據(jù)后面加上括號,括號中注明其進(jìn)制,二進(jìn)制則標(biāo)記為2)內(nèi)存儲存數(shù)據(jù)
的基本單位是字節(jié)(Byte),一個字節(jié)由8個位(bit)所組成。位是用以描述電腦數(shù)據(jù)量的最小單位。二
進(jìn)制系統(tǒng)中,每個0或1就是一個位。將11(2)補(bǔ)足成一個字節(jié),則是00000011(2)。5的二進(jìn)制編碼是
101(2),將其補(bǔ)足成一個字節(jié),則是00000101(2)
按位與運(yùn)算:
00000011(2)
&00000101(2)
00000001(2)
由此可知3&5=1
c語言代碼:
【C語言位運(yùn)算詳解】相關(guān)文章:
C語言位運(yùn)算和sizeof運(yùn)算符詳解05-11
C語言位運(yùn)算05-08
C語言的位運(yùn)算05-31
C語言的位運(yùn)算的優(yōu)勢06-21
C語言入門知識:位運(yùn)算03-04
C語言賦值運(yùn)算符詳解01-04
c語言位運(yùn)算符的用法05-28
C語言位運(yùn)算基礎(chǔ)知識02-20