C语言位运算

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值