C语言中的位运算

按位“与”

& 运算符查看两个表达式的二进制表示法的值,并执行按位“与”操作。该操作的结果如下所示:

0101 (expression1)

1100 (expression2)

————————

0100 (result)

任何时候,只要两个表达式的某位都为 1,则结果的该位为 1。否则,结果的该位为 0。



按位“或”

| 运算符查看两个表达式的二进制表示法的值,并执行按位“或”操作。该操作的结果如下所示:

0101 (expression1)

1100 (expression2)

————————

1101 (结果)

任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。



按位“非”

~ 运算符查看表达式的二进制表示法的值,并执行按位非操作。该操作的结果如下所示:

0101 (expression)

————————

1010 (result)

表达式中的任何一位为 1,则在结果中相应位变为 0。表达式中的任何一位为 0,则在结果中相应位变为 1。



按位异或

^ 运算符查看两个表达式的二进制表示法的值,并执行按位异或。该操作的结果如下所示:

0101 (expression1)

1100 (expression2)

————————

1001 (结果)

当且仅当只有一个表达式的某位上为 1 时,结果的该位才为 1。否则结果的该位为 0。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值