十进制与十六进制、二进制、八进制之间的转换(Java)
2015-09-06 13:14
579 查看
十进制与十六进制、二进制、八进制之间的转换
package com.test; public class ToHexBinOctDemo { /**移位法实现8进制,二进制,十进制转换 * @param args */ public static void main(String[] args) { int num=13; //用Java内置函数与自定义函数输出结果进行对比 System.out.println(Integer.toHexString(num)); System.out.println(toHex(num)); System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); System.out.println(Integer.toBinaryString(num)); System.out.println(toBin(num)); System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); System.out.println(Integer.toOctalString(num)); System.out.println(toOct(num)); } //查表发返回查询16进制的字符串 public static char getCharHex(int index){ char[] hexChars={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; return hexChars[index]; } //查表发返回查询2进制的字符串 public static char getCharBin(int index){ char[] binChars={'0','1'}; return binChars[index]; } //转换成16进制,用的是移位4 private static String toHex(int num) { StringBuffer sb=new StringBuffer(); for(int i=0;i<8;i++){ int temp=num & 15;//进行&操作(1111)2 =15 num=num>>>4; sb.append(getCharHex(temp)); } //将反转之后的结果返回 return new String(sb.reverse()); } //转换成2进制,移位1 private static String toBin(int num){ StringBuffer sb=new StringBuffer(); while(num!=0){ int index=num&1;//进行&操作(1)2 =1 sb.append(getCharBin(index)); num=num>>>1; } return new String(sb.reverse()); } //转换成8进制,用移位3; private static String toOct(int num){ StringBuffer sb=new StringBuffer(); while(num!=0){ int index=num&7;//进行&操作(111)2 =7 sb.append(index); num=num>>>3; } return new String(sb.reverse()); } }
相关文章推荐
- struts2 Interceptor详解
- 使用Spring整合Hibernate,并实现对数据表的增、删、改、查的功能
- Struts 2的基石——拦截器(Interceptor)
- java提高篇(三十)-----Iterator
- Struts 2中的OGNL
- 使用JUnit4进行java单元测试
- struts2开发注意事项
- 【Java并发编程实战】—–“J.U.C”:Condition
- Java 工程转 C#
- 【Java并发编程实战】-----“J.U.C”:Condition
- Java Convert String & Int
- Java Convert String & Int
- Spring Auto proxy creator example
- Java编程脑图
- JAVA容器小结1
- JAVA实现File类中的遍历操作并输出内容
- java实例方法和静态方法的区别
- eclipse之GC overhead limit exceeded
- BC - Geometric Progression (等比数列的性质 + java大数)
- 【转】Java基础——成员变量、局部变量和静态变量的区别