Integer类里面有如下一段代码:
final static char[] digits = {
'0' , '1' , '2' , '3' , '4' , '5' ,
'6' , '7' , '8' , '9' , 'a' , 'b' ,
'c' , 'd' , 'e' , 'f' , 'g' , 'h' ,
'i' , 'j' , 'k' , 'l' , 'm' , 'n' ,
'o' , 'p' , 'q' , 'r' , 's' , 't' ,
'u' , 'v' , 'w' , 'x' , 'y' , 'z'
};
private static String toUnsignedString(int i, int shift) {
char[] buf = new char[32];
int charPos = 32;
int radix = 1 << shift;
int mask = radix - 1;
do {
buf[--charPos] = digits[i & mask];
i >>>= shift;
} while (i != 0);
return new String(buf, charPos, (32 - charPos));
}
这一段代码完整地说明了十进制转化为二进制,八进制,十六进制整个流程,toUnsignedString方法的shift的参数,当shift为1是为二进制,当shift为3是八进制,当shift为4是十六进制。
引用
举例:当toUnsignedString(100,4)时,输入为:64
上例中,十进制100对于二进制为0110 0100,转化为十六进制时传入的shift值为4,具体转化的算法如下:
第一步:从 0110 0100 拿出最后的相对应shift的值的个数,这里为0100,再和1111(这一个值是从1 << shift得到的)相与
0100
& 1111
————
0100
得出的0100,相当十进制的 4,得到4后,从digits 数组里面拿出下标为4里面的值,此处也为4
第二步:
将0110 0100右移shift的值的个数,变为0000 0110,拿出最后的相对应shift的值的个数,这里为0110,再和1111相与
0110
& 1111
————
0110
得出的0110,相当十进制的 6,得到6后,从digits 数组里面拿出下标为6里面的值,此处也为6
所以我们就得到了十六进制的64,其他的进制转化也差不多类似的。
分享到:
相关推荐
风火之旅服务端完整源码,这个是真正的风火之旅服务端源码,并非QQ西游,编译的时候把那些乱七八糟的备注给改掉就可以了,能整理出来相当不容易了,不喜勿下,解压后600MB左右,c++开发。 曾经比较火的一款3D角色扮演...
一、定位:以区块链为底层技术的电商平台, 二、逻辑:消费购买力可产出MTSC,MSTC可用于购物以及交易后续的生态支付 三、特点:无需投资,即可加入。两种交易方式,实时交易:平台交易立马变现。...
标题提到的“一个非常有意思的悬浮球源码”显然是一个实现了类似360助手功能的悬浮小球组件,带有动画效果,能够方便地集成到其他应用程序中。这个源码项目,名为“mtFloatBall”,很可能是为开发者提供了一个自定义...
分类源码,信息发布网站源码,信息源码,信息港网站源码,asp信息港源码,信息类网站源码,多种分类源码,信息网源码下载,asp信息网源码,信息发布系统源码,物流信息源码,房产信息网源码.net源码,公安信息网源码,家教信息...
标题中的“一个有意思的闹钟程序源码”表明这是一个与编程相关的项目,具体是关于创建一个闹钟应用的源代码。这个程序可能具有独特的设计或功能,使得它在众多闹钟程序中显得有趣或与众不同。 描述中的“这是本人一...
源码(带论坛)四川旅游幸福之旅旅游网门户源码
HTML5实现好看的有意思的个人简历网页源码,个人简历网页源码,个人主页源码,HTML简历源码,HTML主页源码。主要通过个人主页、个人信息、个人相册、个人项目、与我交流等模块页面来讲述个人信息,内容图文结合,...
在源码中,`IntegerCache` 类起着关键作用。 `IntegerCache` 是一个内部私有静态类,它维护了一个缓存数组,用于存储-128到127之间的 `Integer` 对象。这个范围的选择是因为这些数值在Java虚拟机(JVM)中会被自动...
适用范围: 文章站源码,小清新源码,仿有意思吧源码,资讯站源码,DEDE文章模板 运行环境: PHP、MYsql [dede v5.7内核] 安装说明:见压缩包内安装教程 其他说明:dede小清新文章站源码,适用于美图,唯美图片,...
本项目"unity3D战旗类回合制格斗游戏源码"是一个集成了战棋策略元素与格斗游戏玩法的独特游戏,提供了丰富的交互体验和深度的战术设计。 战旗类游戏,又称策略角色扮演游戏(SRPG),通常包含网格状的地图,玩家...
源码简介 : 演示地址:以截图为准 适用范围: 文章站源码,小清新源码,仿有意思吧源码,资讯站源码,DEDE文章模板 演示地址:以截图为准 运行环境: PHP、MYsql [dede v5.7内核] 安装说明:见压缩包内安装教程 其他...
【旅游日记--Android源码】项目是一个专门为旅行爱好者设计的应用程序,它允许用户记录和分享他们的旅行经历。这个项目的源码公开,旨在为开发者提供一个参考实例,展示如何在Android平台上构建类似应用。通过分析和...
这是由Python写的网站源码,采用了Python里最强大的后端框架Django,该网站所实现的功能是为旅游者提供乡间小屋预订、租住服务,对希望学习利用Python+Django进行网站建设的开发者而言是一个难得的示例。
有意思的字母连连看Delphi源码版,看到这个漂亮界面了么?不过它是使用控件美化出来的效果,控件名称:VCLskin控件。本连连看是一个保送生写的,程序内核的方法确实牛逼哦。游戏有多关、可保存成绩,可设置难易程度...
非常有趣的光影效果,看一眼就会喜欢的不得了,真心推荐,真舍不得共享的
本资源"Android快速开发系列 10个常用工具类 程序源码"提供了10个实用的工具类,旨在帮助开发者更快捷地完成日常开发工作。以下是对这些工具类的详细解释: 1. **StringUtil**: 字符串处理工具类,包括字符串格式化...
源码中可能有专门的Model类来封装数据,Presenter层来处理逻辑,以及View层来展示UI更新。 4. **网络通信**:移动医疗APP通常需要与服务器交互,获取或上传数据。这可能涉及到HTTP/HTTPS请求,使用如Retrofit或...
基于jdk1.8的Java源码详解Integer Java中的Integer类是int类型的Warpper类,是面向对象的即OOP的对象类型。它继承了Number类,可以将Integer转换成int、double、float、long、byte和short类型的数据。同时,Integer...
标题 "收集的一些有意思的项目" 暗示了这个压缩包可能包含了一系列有趣或者创新的编程项目,可能是由个人开发者或小团队创作的。这些项目可能涵盖各种编程语言、技术领域和应用类型,旨在提供学习、探索或启发新思维...
适用范围: 在线算命源码,算命网站源码,运势预测源码,姓名预测源码,算命系统源码 运行环境: ASP+Access 其他说明:某在线算命系统源码商业版,功能齐全,完整无错,含运势采集功能,淘宝卖50元,分享给大家!