美文网首页android
MeasureSpec中的按位运算符、移位运算符讲解(左位移、与

MeasureSpec中的按位运算符、移位运算符讲解(左位移、与

作者: wintersweett | 来源:发表于2019-04-18 22:40 被阅读23次

我们先看下基础知识

好了,下面看MeasureSpec中的按位运算、移位运算:

android经常会有类似如图,(0的二进制数为00)00左移30位,达到的目的就是去形成一个32位的值

1

将图2可以用图3解释

2 3

~  这个符号是求反,0变1,1变0,~MODE_MASK=11111111,11111111,11111111,11111111

& 这个符号为与运算,两个二进制值完全一样才会得1,不同则为0

或运算如下图

打包的规则是:将左边size转换为32位,将右边mode转换为32位,然后进行或运算。前两位作为mode,后30位作为size

相关文章

网友评论

    本文标题:MeasureSpec中的按位运算符、移位运算符讲解(左位移、与

    本文链接:https://www.haomeiwen.com/subject/rsvnbqtx.html