hackerkevin

生命不息,奋斗不止

导航

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

 

posted on 2015-06-09 22:45  hackerkevin  阅读(748)  评论(0编辑  收藏  举报