常见位运算符

详细介绍 "|","^","~","&"等不常见符号,以后遇到新的再扩展

前情提要:这些符号都是二进制下进行计算

1:" | "  按位与运算(1|1=1,1|0=1,0|1=1,0|0=0)

例如a=6=110,b=1=001,a|b=111=7(结果并非完全是加法)

a=6=110,b=4=010,a|b=110=6(结果是大数)


2:"&"  按位或运算(1&1=1,0&1=0,1&0=0,0&0=0)

例如a=6=110,b=1=001,a&b=000=0

a=6=110,b=4=010,a&b=010=2

常用于判断奇数偶数 if(n&1),奇数为真,偶数为假(奇数的最后一位是1,偶数是0)


3:"^"  按位异或运算(相同为0,不同为1)

例如a=6=110,b=1=001,a^b=111=7

a=6=110,b=4=110,a|b=000=0


4:"~"  按位取反运算

例如a=6=110,~a=001=1;

常用于输入while(~scanf())==while(scanf()!EOF)(是不是简单一些)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值