位移操作(指定位置置为0或1)

在工作的时候,做驱动或者单片机的时候经常会对某一个数字的第几位让其变为0或者变为1,这个时候就可以用这种方法:

1.数字x第n位置为1
x | = ( 1 << n );

2.数字x第n位置为0
x & = ~( 1 << n );


//example数字5第2位置为1
5 | = ( 1 << 2 );

//解释一下  5二进制为: 0101
//第二位置为1只要将第二位或上1,无论第二位是0还是1它的结果还是1


//example数字5第2位置为0
5 & = ~( 1 << 2 );

//解释一下  5二进制为: 0101
//第二位置为0只要将1位移到第二位后取反那么值将为0,然后将其与上5的第二位无论是0还是1都将变成0

 实在不行的小伙伴先记住就好啦应付一下面试也是可以的,等遇到做几次就会记住啦

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值