强大的位运算

位运算让计算机的操作变得简单并且迅速,掌握位运算的常见用法可以迅速解决一些看似复杂的题目,理解位运算也能让我们更透彻的理解计算机。
位运算符
1.&,按位与,若相应二进制位均为1,则结果的此二进制位为1否则为0,简单来说就是如果有一个0就为0,两个1才为1与按位或相反。
2.|,按位或,若相应二进制位只要有一位为1则为1,否则为0。
3.^,按位异或,若相应二进制位相同为0,否则为1。
4.~,取反若二进制位为0则变为1,为1则变为0。
5.<<左移,向左移n位相当于乘以2^n,二进制数低位补零。
6.>>右移,向右移n位相当于除以2^n,二进制数高位补零。
7.关于负数,最高位为1,其余与正数相同。
8.关于原码,反码和补码
(1)原码:原码,第一位存符号,剩余位数存放二进制数。
(2)反码:正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.。
(3)补码:正数的补码等于它本身,负数的补码等于其反码加一。
关于应用:
1.一个集合中只有一个数出现一次其余数出现两次求出现一次的这个数。
解法:如果由于a ^ a=0,a ^ 0=a;所以我们只需将全部数^即可求出只出现一次的那个数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值