bit 的 一些有用的操作

ALL_BITS 是所有的位都为1

A: 1000 0010 B: 1100 1100
1.对A的所有位取反
ALL_BITS ^ A

2.将A的第bit位(最右边是第0位)设置为1
A |= 1 << bit    例如bit=3 则1<<bit=1000  则A|1000=1000 1010

3.将A的第bit位清0
A &= ~(1 << bit)  例如bit=1 则~(1<<bit)=1101 则A&1101=1000 0000

4.测试第bit位是否为0       (A & 1 << bit) != 0
5.除了A的最低位的第一个1,其余全部清0          x & ~(x - 1)
6.一个数是2的指数幂当且仅当只有一个bit是1
7.a<<b : 当b>=a所占比特数的时候,C99说,结果是未定义的,这个行为同样适用于Java 和 C#


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值