天天记录 - Android View中的开关学习即位运算


    Android 中经常看到View.mPrivateFlags参数进行位运算,最常见的是invalidate,touch,measure,layout,draw相关的开关设置,下来一起来看看位运算。


名称 符号 计算规则 计算 含义
取反
~
对一个二进制数的每一位执行逻辑操作.
使数字1成为0, 0成为1
a = 0100  b = 1110
~a = 1011
~b = 0001
a &= ~FLAG 
取消此标记

按位或
|
处理两个长度相同的二进制数,
两个相应的二进位中只要有一个为1,
该位的结果值为1. 
a = 0100  b = 1110
a |= b
a = 1011
a |= FLAG
添加此标记

按位异或
^
对等长二进制模式按位或二进制数的每一位
执行逻辑异按位或操作. 操作的结果是如果
某位不同则该位为1, 否则该位为0.
a = 0100  b = 1110
a ^= b
a = 1010

按位与
&
处理两个长度相同的二进制数,
两个相应的二进位都为1,
该位的结果值才为1,否则为0.
a = 0100  b = 1110
a &= b 
a = 0100
(a & FLAG)== FLAG
是否包含此标记



参考资料:

[C路历程]爱上位运算

位运算常用操作总结 

“位运算”在程序开发中的妙用!

维基百科 - 位运算


位操作基础篇之位操作全面总结

http://blog.csdn.net/morewindows/article/details/7354571



转载请注明出处:http://blog.csdn.net/love_world_/article/details/8554340


2013-04-09 更新参考资料



你可能感兴趣的:(天天记录 - Android View中的开关学习即位运算)