Java基础——进制转换
2015-06-23 00:00
615 查看
摘要: 最原始的算法进行十进制、二进制、八进制、十六进制之间的转换。
public class HexConversion { public static void main(String[] args) { int num = 60; String str_hex = toHex(num); String str_bin = toBinary(num); String str_octal = toOctal(num); System.out.println("十进制---十六进制:"+str_hex); System.out.println("十进制---二进制:"+str_bin); System.out.println("十进制---八进制:"+str_octal); } //十进制---十六进制 public static String toHex(int num){ return "0x"+trans(num,15,4); } //十进制---二进制 public static String toBinary(int num){ return trans(num,1,1); } //十进制---八进制 public static String toOctal(int num){ return "0"+trans(num,7,3); } //用于进制转换 public static String trans(int num, int base, int offset){ //1.建立表 char [] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; //2.创建临时容器 char [] arr = new char[32]; //3.创建操作临时容器的角标 int index = arr.length ; //4.通过循环对num进行& >>等运算 while(num!=0){ //5.对num进行&运算 int temp = num & base; //6.根据&运算后的结果作为角标查询,获取对应的字符,并将字符存储到临时容器中 arr[--index] = chs[temp]; //7.对num进行右移 num = num >>> offset; } return toString(arr,index); } //定义一个功能,将字符数组转成字符串 public static String toString(char [] arr, int index){ String str = ""; for(int i=index;i<arr.length;i++){ str = str + arr[i]; } return str; } } 运行结果: 十进制---十六进制:0x3C 十进制---二进制:111100 十进制---八进制:074
相关文章推荐
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- C#实现将千分位字符串转换成数字的方法
- oracle SCN跟TIMESTAMP之间转换
- C#将制定目录文件名转换成大写的方法
- C#数据结构与算法揭秘二
- C#实现Stream与byte[]之间的转换实例教程
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#中结构体和字节数组转换实现
- C#进制之间的相互转换详解
- 自己动手把ACCESS转换到SQLSERVER的方法
- C#实现的算24点游戏算法实例分析
- mysql binlog二进制日志详解
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法