栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中int使用十六进制

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中int使用十六进制

在int类型中,进制的使用有十进制和十六进制的方法。在选择上很多人都有所困惑,不知道哪一种进制更好用。就位运算更加直观的表现出来而言,还是推荐使用十六进制。下面我们就十六进制的好处进行分析,同时以十六进制的用法为例,帮助大家在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使用十六进制的方法,相信经过上方的对比,大家已经发现在运算上十六进制的计算速度更快,代码层面也比较清晰和明确。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/15062.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号