[转载]晨风?0?5?0?2?0?1?6?6 2014年03月08日 于 爱Java 发表
众所周知、程序世界计算机中采用的是二进制,一个数字可以用任意进制表示。所以看一个数据值的同时。还要观察它的进制、以免造成笑话。
此时。进制之间的转换我也必然需要熟知、做到心中有数。下面就进制转换为大家提供几点参考.
分析:
- Java中在声明数字时默认采用的是十进制,可以在数字前加上符号表示数字采用八进制【前面加0(零)】或者十六进制【前面加上0x(零x)】。
- Java的整型封装类Integer和Long提供toString(int i,int radix)静态方法,可以将一个任意进制的整数转换为其他进制的整数。
- 使用Integer或Long的toBinaryString方法将整数转换为二进制。
- 使用Integer或Long的toOctalString方法将整数转换为八进制。
- 使用Integer或Long的toHexString方法将整数转换为十六进制。
- 使用Integer或Long的toString(int i)方法可以将其他进制的整数转换为十进制的整数的字符串表示。
1、Java 关键代码举例
int n1 = 14; //十进制转成十六进制: Integer.toHexString(n1); //十进制转成八进制 Integer.toOctalString(n1); //十进制转成二进制 Integer.toBinaryString(12); //十六进制转成十进制 Integer.valueOf("FFFF",16).toString(); //十六进制转成二进制 Integer.toBinaryString(Integer.valueOf("FFFF",16)); //十六进制转成八进制 Integer.toOctalString(Integer.valueOf("FFFF",16)); //八进制转成十进制 Integer.valueOf("576",8).toString(); //八进制转成二进制 Integer.toBinaryString(Integer.valueOf("23",8)); //八进制转成十六进制 Integer.toHexString(Integer.valueOf("23",8)); //二进制转十进制 Integer.valueOf("0101",2).toString(); //二进制转八进制 Integer.toOctalString(Integer.parseInt("0101", 2)); //二进制转十六进制 Integer.toHexString(Integer.parseInt("0101", 2));
2、Java中二、八、十、十六进制之间的转换测试
private int i = 2010; @Test public void testInteger() { System.err.println(); System.err.println("原始数据:" + i); // 二进制转换 System.err.println("==========整型——二进制转换=========="); System.err.println("二进制:" + Integer.toBinaryString(i)); System.err.println("十进制:" + Integer.parseInt(Integer.toBinaryString(i), 2)); // 八进制转换 System.err.println("==========整型——八进制转换=========="); System.err.println("八进制:" + Integer.toOctalString(i)); System.err.println("十进制:" + Integer.parseInt(Integer.toOctalString(i), 8)); // 十六进制转换 System.err.println("==========整型——十六进进制转换=========="); System.err.println("十六进制:" + Integer.toHexString(i)); System.err.println("十进制:" + Integer.parseInt(Integer.toHexString(i), 16)); } @Test public void testLong() { System.err.println(); System.err.println("原始数据:" + i); // 二进制转换 System.err.println("==========长整型——二进制转换=========="); System.err.println("二进制:" + Long.toBinaryString(i)); System.err.println("十进制:" + Long.parseLong(Long.toBinaryString(i), 2)); // 八进制转换 System.err.println("==========长整型——八进制转换=========="); System.err.println("八进制:" + Long.toOctalString(i)); System.err.println("十进制:" + Long.parseLong(Long.toOctalString(i), 8)); // 十六进制转换 System.err.println("==========长整型——十六进进制转换=========="); System.err.println("十六进制:" + Long.toHexString(i)); System.err.println("十进制:" + Long.parseLong(Long.toHexString(i), 16)); }
时间: 2024-10-09 21:12:54