开发者社区> 问答> 正文

在定义int类型的变量时使用十六进制表示有什么好处?

最近我在看android源码的时候,发现它里面有很多static final int类型的常量都是使用十六进制来表示的:
screenshot
所以我想问一下,在代码里,使用十六进制和十进制来表示整数有什么区别?或者说,相对十进制,使用十六进制来表示整数有什么好处?
另外,我还发现,在定义常量的时候,他们并不是随便的拿一个十六进制数来赋值的,它取的值里面一般都会包含1、2、4、8这几个数字,这里面又有什么巧妙之处?

展开
收起
蛮大人123 2016-02-26 17:47:55 3891 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    用十六进制有几个好处,如:
    1.
    方便看出位置对应的共同特征,如你截图中的MODE_WORLD_READABLE和 MODE_WORLD_WRITABLE的前三位都是0(十六进制),如果使用十进制的数字,这样的表示并不明显
    2.
    使用十六进制(可以快速一一对应于二进制),方便进行bit mask运算,如移位,或者OR来推算得出一个组合的标识flag。
    参考:http://stackoverflow.com/questions/10920432/why-use-hexadecimal-constants

    2019-07-17 18:48:32
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载