1 package com.jdk7.chapter3;
2
3 public class ChangeNumber {
4 /**
5 * 转换数字的进制
6 * int MIN_RADIX = 2;
7 * int MAX_RADIX = 36;
8 * @param args
9 */
10
11 public static void main(String[] args) {
12 int iOct = 0567; //八进制的数字的声明,在数字前面加0,八进制的数字转换为二进制时,八进制每位由3个二进制表示
13 int iTen = 1000; //十进制的数字声明
14 int iHex = 0xABCD; //十六进制的数字声明,在数字前面加0x,十六进制的数字转换为二进制时,十六进制每位由4个二进制表示
15
16 //Integer.toString(iOct, 2)中,第一个参数为封装类Integer对应的基本数据类型数值,第二个参数为需要转换的目标进制[2,36]
17 //Long封装类也提供该功能
18 System.out.println("八进制0567转换为二进制后为: "+Integer.toString(iOct, 2));
19 System.out.println("八进制0567转换为十进制后为: "+Integer.toString(iOct, 10));
20 System.out.println("八进制0567转换为十六进制后为: "+Integer.toString(iOct, 16));
21 System.out.println("八进制0567转换为七进制后为: "+Integer.toString(iOct, 7));
22 System.out.println("十进制1000转换为二进制后为: "+Integer.toString(iTen, 2));
23 System.out.println("十进制1000转换为八进制后为: "+Integer.toString(iTen, 8));
24 System.out.println("十进制1000转换为十六进制后为: "+Integer.toString(iTen, 16));
25 System.out.println("十六进制1000转换为二进制后为: "+Integer.toString(iHex, 2));
26 System.out.println("十六进制1000转换为八进制后为: "+Integer.toString(iHex, 8));
27 System.out.println("十六进制1000转换为十进制后为: "+Integer.toString(iHex, 10));
28 }
29 }
30
31 执行结果:
32 八进制0567转换为二进制后为: 101110111
33 八进制0567转换为十进制后为: 375
34 八进制0567转换为十六进制后为: 177
35 八进制0567转换为七进制后为: 1044
36 十进制1000转换为二进制后为: 1111101000
37 十进制1000转换为八进制后为: 1750
38 十进制1000转换为十六进制后为: 3e8
39 十六进制1000转换为二进制后为: 1010101111001101
40 十六进制1000转换为八进制后为: 125715
41 十六进制1000转换为十进制后为: 43981