C语言位运算

来源:互联网 发布:office for mac 2016 编辑:程序博客网 时间:2024/06/11 07:04

1   

“按位与”运算符(&)

    按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,
则该位的结果值为1;否则为0。按位与运算:
 00000011&00000101   =   00000001

由此可知3&5=1

(1)清零  :原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。

(2)保留指定位:与一个数进行“按位与”运算,此数在该位取1。

2.

“按位或”运算符(|)
两个相应的二进制位中只要有一个为1,该位的结果值为1。

常用来将源操作数某些位置1,其他位不变

3

按位异或运算符“^”是双目运算符,其功能是参与运算的两个数字对应的二进制位相异或,当两对应的二进位相异时,结果为1。

(1)使特定位的值取反(mask中特定位置1,其他位为0,s=s^mask)。
(2)不引入第三变量,交换两个变量的值 a = a^b   b = a^b   a = a^b 

0 0
原创粉丝点击