位逻辑运算符的用法

1用法:掩码

“位与”运算符通常与掩码一起使用。掩码是某些位设为开(1)而某些位设为关(0)的位组合。假设定义符号常量MASK为2 ,即二进制的00000010,只有位1是非零。那么:

flags=flags&MASK;

这个语句将导致flags的除位1之外的所有位都被设为0,原因是它的任何位使用 &运算符与0组合都得0;位1将保持不变。因为掩码中的零覆盖了flags中相应的位,该过程称为“使用掩码”。

ch&=0xff; //该掩码留下ch的最后8位,将其余为设为0。无论最初的ch是8位,16位或是更多,都将最终的值修整到一个字节中。

 

2用法:打开位

例如,考虑MASK,其位1设为1。下面的语句将flags中的位1设为1,并保留其他所有位不变:

flags=flags|MASK;

 

3用法:关闭位

不影响其他位,同时能够将特定的位关闭与能够将特定的位打开一样是有用。假设您想关闭变量flags中的位1.MASK仍然只有位1是打开。您可以做如下操作:

flags=flags&~MASK;

 

4用法:转置位

转置一个位表示如果该为打开。则关闭该位;如果该位关闭,则打开该位。

 

如果使用^将一个值与掩码组合,那么该值中对应掩码为位1的位被转置。对应掩码位为0的位不改变。

flag=flag^MASK;

 

5用法:移位运算符

number<<n  number乘以2的n次幂

number>>n  如果number非负,则用number除以2的n次幂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值