java中int如何使用十六进制

这篇文章主要介绍“java中int如何使用十六进制”,在日常操作中,相信很多人在java中int如何使用十六进制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中int如何使用十六进制”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.十六进制好处

(1)方便看出位置对应的共同特征,如你截图中的MODE_WORLD_READABLE和 MODE_WORLD_WRITABLE的前三位都是0(十六进制),如果使用十进制的数字,这样的表示并不明显

(2)可以快速一一对应于二进制,方便进行bit mask运算,如移位,或者OR来推算得出一个组合的标识flag。

2.十六进制用法

以ViewGroup源码为例:

    static final int FLAG_CLIP_CHILDREN = 0x1;
    private static final int FLAG_CLIP_TO_PADDING = 0x2;
    static final int FLAG_INVALIDATE_required  = 0x4;
    private static final int FLAG_RUN_ANIMATION = 0x8;
    static final int FLAG_ANIMATION_DONE = 0x10;
    private static final int FLAG_PADDING_NOT_NULL = 0x20;
    private static final int FLAG_ANIMATION_CACHE = 0x40;
    static final int FLAG_OPTIMIZE_INVALIDATE = 0x80;
    static final int FLAG_CLEAR_TRANSFORMATION = 0x100;

然后所有以上属性一起用一个int变量mGroupFlags标示,每一位记录一个属性的状态(0或1)

用16进制比较直观 可以直接心算出来

第0位表示FLAG_CLIP_CHILDREN

第1位表示FLAG_CLIP_TO_PADDING

第2位表示FLAG_INVALIDATE_required

第3位表示FLAG_RUN_ANIMATION

第4位表示FLAG_ANIMATION_DONE

....

写成10进制的话,计算哪一位表示哪一个变量会麻烦。

到此,关于“java中int如何使用十六进制”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程之家网站,小编会继续努力为大家带来更多实用的文章

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...