位运算(&、|、^)

本文介绍了位运算的基础知识,包括与(&)、或(|)、异或(^)、左移(<<)、右移(>>)等操作,并探讨了它们在判断奇偶数、交换变量、求绝对值等方面的应用。通过异或操作解决实际编程问题,如找到数组中唯一重复或单独出现的数字,计算二进制中1的个数,以及判断是否为2的整数次方。
摘要由CSDN通过智能技术生成

基础知识:

1.在处理整型数值时,可以直接对数值的各个位进行操作,即可用屏蔽技术获得整数中的各个位

2.&(与:都为1结果才为1)、|(或:有一个为1结果为1)、^(异或:二者不同时结果为1)、~(非)

3.>>(右移)、<<(左移)将二进制位进行右移或左移操作

4.>>>用0填充高位,>>用符号位填充高位,没有<<<运算符

5.对于int型,1<<35与1<<3相同(取模),左侧操作数是long型时需对右侧作模64


应用: 

1.判断奇偶数

if (x&1)==1  x为奇数; 
if (x&1)==0  x为偶数;

因为偶数的最后一位是0,奇数的最后一位是1

2.获取二进制位是1还是0

将1左移到那个位上,其他位都是0,作&运算就相当于把其他位屏蔽掉,因为0与任何数作&都是0,将结果再移动到最低位。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值