C語言位運算詳解
位運算是指按二進(jìn)制進(jìn)行的運算。在系統(tǒng)軟件中,常常需要處理二進(jìn)制位的問題。C語言提供了6個位操作運算符。這些運算符只能用于整型操作數(shù),即只能用于帶符號或無符號的char,short,int與long類型。以下是關(guān)于C語言位運算詳解內(nèi)容,歡迎參考學(xué)習(xí)!
位運算是指按二進(jìn)制進(jìn)行的運算。在系統(tǒng)軟件中,常常需要處理二進(jìn)制位的問題。C語言提供了6個位操作運算符。這些運算符只能用于整型操作數(shù),即只能用于帶符號或無符號的'char,short,int與long類型。
C語言提供的位運算符列表:
運算符含義描述
& 按位與 如果兩個相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果值為1,否則為0
| 按位或 兩個相應(yīng)的二進(jìn)制位中只要有一個為1,該位的結(jié)果值為1
^ 按位異或 若參加運算的兩個二進(jìn)制位值相同則為0,否則為1
~ 取反 ~是一元運算符,用來對一個二進(jìn)制數(shù)按位取反,即將0變1,將1變0
<< 左移 用來將一個數(shù)的各二進(jìn)制位全部左移N位,右補0
>> 右移 將一個數(shù)的各二進(jìn)制位右移N位,移到右端的低位被舍棄,對于無符號數(shù), 高位補0
1、“按位與”運算符(&)
按位與是指:參加運算的兩個數(shù)據(jù),按二進(jìn)制位進(jìn)行“與”運算。如果兩個相應(yīng)的二進(jìn)制位都為1,
則該位的結(jié)果值為1;否則為0。這里的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其
實與邏輯上“與”的運算規(guī)則一致。邏輯上的“與”,要求運算數(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)補足成一個字節(jié),則是00000011(2)。5的二進(jìn)制編碼是
101(2),將其補足成一個字節(jié),則是00000101(2)
按位與運算:
00000011(2)
&00000101(2)
00000001(2)
由此可知3&5=1
c語言代碼:
【C語言位運算詳解】相關(guān)文章:
C語言位運算10-05
C語言位運算和sizeof運算符詳解12-02
C語言的位運算12-01
C語言位運算基礎(chǔ)知識11-21
C語言賦值運算符詳解10-06
c語言位運算符的用法11-02
C語言位運算的基礎(chǔ)知識10-23
c語言位運算符的用法指導(dǎo)10-06
C語言中的運算規(guī)則10-08
c語言算術(shù)運算符10-06