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

本文探讨了Android中View的mPrivateFlags参数如何通过位运算来控制invalidate、touch、measure、layout和draw等相关功能的开关。通过引用多位专家的资料,详细解析位运算在这一场景的应用。
摘要由CSDN通过智能技术生成


    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 更新参考资料



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值