標題: C語言位運算符在程序中的作用 [打印本頁] 作者: 51黑er 時間: 2015-11-9 21:17 標題: C語言位運算符在程序中的作用 C語言運算符主要包括:與、或、異或、取反、左移和右移 一、按位與(&)
如果兩個相應的二進制位都為1,則該位的結果值為1,否則為0
應用:
1.清零
若想對一個存儲單元清零,即使其全部二進制位為0,只要找一個二進制數,其中各個位符合一下條件:
原來的數中為1的位,新數中相應位為0。然后使二者進行&運算,即可達到清零目的。
a 00101011
b 10010100
c 00000000 //c = a & b
2.取一個書中某些指定位
若有一個整數a(2byte),想要取其中的低字節,只需要將a與8個1按位與即可。
a 00101100 10101100
b 00000000 11111111
c 00000000 10101100 //c = a & b
3.保留指定位
a 01010100
b 00111011
c 00010000 //c = a & b
二、按位或(|)
兩個相應的二進制位中只要有一個為1,該位的結果值為1。借用邏輯學中或運算的話來說就是,一真為真
應用:將一個數據的某些位定值為1
a 00110000
b 00001111
c 00111111 //c = a | b