笔记:位运算

位运算 主要是以下四种运算
&
|
<<
>>
逻辑运算的与和或是 && 和 || 千万不要用混了

我们要把 a和b按照位数进行与
a&b
会把a和b转成2进制之后进行与计算。同样道理|预算也是一样的

当我们想要把a的某一位 置1的时候 a |(1<<n)n就是你想要移动的位数
就可以完成把某一位设置成1

当我们想要把a的某一位 置0的时候 a &(0<<n)n就是你想要移动的位数
就可以完成把某一位设置成0

如果要设置一串1或者一串0又应该怎么办呢 ?

当设置1的时候 a | (0xFF)就是把a的后8位设置成1
如果设置多个1 并且不是后几位的时候就需要我们把要设置的位数的1
进行转换成16进制 之后进行移位操作;就完成了设置1的操作

当设置0的时候 a & (0x0)就是把a的后8位设置成0
然后你去看输出的时候就会发现 好像所有位置都被设置成了0

因为0x0会按照你的类型填充成其他对应位都是0 就产生了所有位都为0
那么我们就需要一个操作 a |=(~0)再进行操作就可以设置了

截取一段数据位又该怎么样呢?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值