java 各种进制 转换
来源:互联网 发布:js获取url中的ip地址 编辑:程序博客网 时间:2024/06/05 09:51
解析进制转换原理:
给定一个整数10进制的数字X,将其转换为16进制Y;
当你遇到这种情况的时候,恭喜你,在java Integer 中已经给你提供这样的方法;
代码如下:
Integer.toHexString(1000);
可以看一下jdk这个方法的源码:
/** * Convert the integer to an unsigned number. */ 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)); }
先解释一下位运算 “&” 是什么意思
”&“ 表示将两个数字转换为二进制,根据相同的位数对应的数字相同,则返回1,不相同则返回0;
举个列子:
15 二进制 1111
5 二进制 101
返回数字 1 0 1 结果为5
在这里进制转换 的思路就是:
先算出低位,然后再算出高位。每次mod 16来依次类推各个位数。
第一次算出最低位位数,i mod 16(i & 15)商(X) 为第二次的除数 , 余数即为个位数。
第二次算出第二位数字,i >>>4 在mod 16(i&15) 第二位数字。
..............................................
..............................................
依次下去便求出16进制的数字。
在这里标注一下 i mod 16 与 i&15 相等。
i>>>4 就是将 i转换为2进制后 先左移动4位小数。
- java 各种进制 转换
- Java 各种进制转换
- java简单的各种进制转换
- java中各种进制的转换
- 【Java】各种进制的转换函数
- 各种进制转换
- 各种进制转换
- 各种进制转换
- 各种进制转换
- 各种进制转换
- 各种进制转换
- java各种有符号无符号进制转换
- Java实现十进制到各种进制的转换
- 各种进制的转换
- php 各种进制转换
- Android各种进制转换
- java各种数据转换
- java各种数据转换
- 神奇的CSDN论坛BUG:为何#2楼回帖会在#1楼前面?为何结帖率可以大于100%?
- c# random 返回总是0 问题
- 为什么图片看不见了呢 复制粘贴的不行嚒?
- abstract 与virtual 与internal
- 使用FNDCPASS更改EBS系统中用户密码
- java 各种进制 转换
- javascript经验总结
- EOF
- dwr异步查询简介
- IOS: 自定义AlertView实现模态对话框
- Maxima 中的复数运算
- 初次创业者不容忽视的十大创业困境
- 张小龙:如何把产品做简单
- 玩玩,传点照片