java int 十六进制_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使用十六进制的方法,相信经过上方的对比,大家已经发现在运算上十六进制的计算速度更快,代码层面也比较清晰和明确。
java int 十六进制_java中int使用十六进制相关推荐
- java byte转int原理_java中int与byte数组互转代码详细分析
在java中,可能会遇到将int转成byte[]数组,或者将byte[]数组转成int的情况.下面我们来思考下怎么实现? 首先,分析int在java内存中的存储格式. 众所周知,int类型在内存中占4 ...
- java int长度_java 中int 的范围
展开全部 int的取值范围为: -2^31--2^31-1,即-2147483648--2147483647 1.对于正数来说,它的补码就是它本身. 2.对于负数62616964757a6869646 ...
- java int byte数组_Java 中int与byte数组转换详解
1.与运算符的理解(&): 参加运算的两个数据,按二进位进行"与"运算.如果两个相应的二进位都为1,则该位的结果值为1,否则为0.即 0&0=0:0&1=0 ...
- java中三种转string的方法_java中int,char,string三种类型的相互转换
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...
- java中 int 比较_java中Integer与int的种种比较你知道多少?
如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下Integer i = 1; ...
- java的double是什么意思_java中int和double有什么区别
java中int和double有什么区别 区别如下: 1.int数据类型是32位,double数据类型是64位: 2.int数据类型的默认值是0,double数据类型的默认值是0.0d: 3.整型变量 ...
- java int值的范围_java中int的取值范围是多少
java中int的取值范围是多少 发布时间:2020-06-26 14:53:13 来源:亿速云 阅读:159 作者:Leah 今天就跟大家聊聊有关java中int的取值范围,可能很多人都不太了解,为 ...
- java int位运算_java中int的表示方法,位运算的解析
随着时代的不断发展,越来越多的人开始投入到java的学习当中来.今天就来为大家介绍java中int的表示方法以及位运算的内容有哪些一起来看看吧. 首先我们需要知道的是,在java中,int是使用32位 ...
- java合并整形_java中2个int合并成一个long
延续32位时代的逻辑通常只会在32位整数中取出高16位和低16位的短整数(short)或相反的合并操作,如c/c++语系中loword和hiword.现在64位的cpu普及到已是标配了,所以这种经典的 ...
最新文章
- 10个必会的 PyCharm 技巧
- poj2017——Speed Limit
- SSL与TLS的区别
- GitHub 大热!也许会成为你心中的OCR开源工具NO1!
- ORA-25153: Temporary Tablespace is Empty
- 管道无损检测python_武汉哪里有便携式X射线探伤机使用方法欢迎咨询
- 相似度和相异度、常用距离度量、余弦相似度
- 隐藏网页文件的后缀(IIS测试通过)!
- 数据库中字段类型Number(n,m)大概说明
- Android实现支持缩放平移图片
- [golang]如何看懂调用堆栈
- python水仙花数的编程讲解_《scratch编程+数学》课程:找寻水仙花数
- 41. PHP MySQL 连接数据库
- php 查看使用多少内存
- 基于OpenCV实现二值图细化,骨骼化并求出端点和交叉点
- FZU Problem 2198 快来快来数一数(矩阵快速幂 卡常数 +优化)
- 拔剑金三银四:大厂面试流程、面试套路分享!你准备好“进厂拧螺丝”了吗?
- SpringBoot+H5微信登陆(网页)
- Task ‘bulid‘ not found in root project ‘cas‘. Some candidates are: ‘build‘.
- 软件测试输入准则,单元测试准则
热门文章
- EtherCAT DC (学习笔记)
- 【题解】CF808G Anthem of Berland
- python字典嵌套字典构造_浅析python 字典嵌套
- 编译工程——词法分析
- 保姆级AS400 CL介绍与应用(硬核)
- 单片机差分升级算法(STM32,M0,M3,M4等芯片都适用)
- mysql 查询字段排名_mysql:查询排名
- SaaS/大数据2019十大新闻出炉:我们不是“孤胆英雄”!
- 第一个ASP.net的CRED(创建读取编辑删除)页面
- 房地产价值大数据分析报告赋能拍卖公司2.0