十进制转换成其它进制
二进制
1
| Integer.toBinaryString(100)
|
八进制
1
| Integer.toOctalString(100)
|
十六进制
1
| Integer.toHexString(100)
|
Java代码
1 2 3 4 5 6 7 8
| public static void main(String[] args) { System.out.println(Integer.toBinaryString(100)); System.out.println(Integer.toOctalString(100)); System.out.println(Integer.toHexString(100)); }
|
结果
1100100
144
64
各种进制转换成十进制
1
| Integer.parseInt("1100100", 2)
|
第一个参数为要转换成十进制的数(它是几进制数由第二个参数决定),第二个参数是说明第一个参数是几进制数
Java代码
1 2 3 4 5 6 7 8
| public static void main(String[] args) { System.out.println(Integer.parseInt("1100100", 2)); System.out.println(Integer.parseInt("144", 8)); System.out.println(Integer.parseInt("4096", 16)); }
|
结果
100
100
16534
十进制转换成任意进制
Java代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| public class Main { public static void main(String[] args) { System.out.println(getResult(getSting(26,15))); System.out.println(getResult(getSting(26,7))); }
public static String getSting(int num, int radix) { StringBuffer sb = new StringBuffer(); while (num != 0) { sb.append(num % radix).append(","); num = num / radix; } return sb.toString(); }
public static String getResult(String str) { StringBuffer sb = new StringBuffer(); String[] arr = str.split(","); String[] arr2 = new String[arr.length]; int j=0; for (int i = arr.length - 1; i >= 0; i--) { arr2[j] = arr[i]; j++; } for (String s : arr2) { if (Integer.parseInt(s) > 9) { sb.append((char)(Integer.parseInt(s) + 55)); } else { sb.append(s); } } return sb.toString(); } }
|
结果
1B
35
PS.
除X取余法查看博客:进制(第一张图片便是除2取余法)