位运算相关操作(持续更新)

以前不怎么刷题,不怎么用到位运算相关知识,最近发现位运算好像用的范围比较广,因此记录一下比较常用的操作,该篇文章持续更新,以后用到新的操作就会更新:

  1. 将最低位1变成0:x=x&(x-1)。在二进制运算中,减一的这个操作实际上就是把最低位的1变为0,从当前位往后剩下的位数全都置为1,然后在与原来的x做一个与操作就能把变为1的那些位重新变为0,例如12=1100,进行减一操作后变成11=1011,此时12&11=1100&1011=1000,就完成了最低位的1变成0的操作。
  2. 将最低位0变成1:x=x|(x+1)。同理,加一的操作实际上就是把最低位的0变成1,从当前位往后剩下的位全部置为0,然后再与原来的x做一个或操作就能把变为0的那些位重新置为1,例如11=1011,进行加一操作变成12=1100,此时11|12=1011|1100=1111,就完成了最低为的0变成1的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值