在int型中,进制的使用有十进制和十六进制。 很多人对选择感到困惑,不知道哪个进制更容易使用。 为了更直观地表示位运算,建议使用十六进制。 在此分析十六进制的好处的同时,以十六进制的使用方法为例,有助于在int中体会十六进制的使用方法。
1.16进制的好处
)1)位置对应的共同特征易于理解。 截图中的MODE_WORLD_READABLE和MODE_WORLD_WRITABLE前三位都是0 (十六进制),使用十进制数字时,这种显示不明显
)2)通过进行位图运算,例如位图运算或OR,能够迅速应对二进制,能够推定作为组合的标记的flag。
2.16进制用法
以ViewGroup源代码为例: staticfinalintflag _ clip _ children=0x 1;
privatestaticfinalintflag _ clip _ to _ padding=0x 2;
saticfinalintflag _ invalidate _ required=0x 4;
私有身份证明flag _ run _ animation=0x 8;
staticfinalintflag _ animation _ done=0x 10;
privatestaticfinalintflag _ padding _ not _ null=0x 20;
私有身份证明flag _ animation _ cache=0x 40;
staticfinalintflag _ optimize _ invalidate=0x 80;
staticfinalintflag _ clear _ transformation=0x 100;
然后,使用int变量mGroupFlags标记上述所有属性,并在每一位中记录属性的状态(0或1 )
十六进制可以直观地直接暗算
第0位表示FLAG_CLIP_CHILDREN
第一位表示FLAG_CLIP_TO_PADDING
第二位表示FLAG_INVALIDATE_REQUIRED
第三位表示FLAG_RUN_ANIMATION
第四位表示FLAG_ANIMATION_DONE
.
如果设置为十进制,则计算哪个位表示哪个变量会很麻烦。
以上是java中int使用十六进制数的方法。 经过以上比较,我想我们发现在运算上十六进制数的计算速度更快,代码级别也更明确、更明确。