C语言提供了六种位运算符:
&
按位与
|
按位或
^
按位异或
~
取反
<<
左移
>>
右移
12.1.1
按位与运算
按位与运算符
"&"
是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应
的两个二进位均为
1
时,结果位才为
1
,否则为
0
。参与运算的数以补码方式出现。
例如:
9&5
可写算式如下:
00001001
(9
的二进制补码
)
&00000101
(5
的二进制补码
)
00000001
(1
的二进制补码
)
可见
9&5=1
。
按位与运算通常用来对某些位清
0
或保留某些位。例如把
a
的高八位清
0
,保留低八位,
可作
a&255
运算
( 255
的二进制数为
0000000011111111)
。
【例
12.