android底层中掩码的计算用法,android中掩码的使用

掩码是一串二进制代码对目标字段进行位与运算,屏蔽当前的输入位,所以有时又称为屏蔽码。

在Android中常使用这种技巧设置flag来判断标记,具体实现可参考framework层的WindowManager.java。

一般flag会写成两种方式看起来比较直观(假设设置的flag为四个字节的长度):

一:

private final int FLAG_ONE = 1 << 0;

private final int FLAG_TWO = 1 << 1;

private final int FLAG_THREE = 1 << 2;

private final int FLAG_FOUR = 1 << 3;

private final int FLAG_FIVE = 1 << 4;

private final int FLAG_SIX = 1 << 5;

二:

private final int FLAG_ONE = 0x00000001

private final int FLAG_TWO = 0x00000002

private final int FLAG_THREE = 0x00000004

private final int FLAG_FOUR = 0x00000008

private final int FLAG_FIVE = 0x00000010

private final int FLAG_SIX = 0x00000020

涉及的计算:

flag &= 0xFFFF;

将 flag 高16位置零,低16位保留

flag &= ~FLAG_ONE ;

将flag中 FLAG_ONE 位置的标记置零

flag |= FLAG_ONE ;

将flag中FLAG_ONE 的位置置1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值