JAVA 进制转换的几个方法
进制转化在JAVA中已经封装好了.
无论是常规的10转2,8,16,还是相对应的2,8,16进制转化为10进制的方法,当然也包括10->n进制,n进制转10进制的常规方法.
都被封装在Integer对象中.
10进制转化其他进制 | 对应的方法,参数:n(原10进制数据),r(进制), | 返回值 |
10进制转2进制 | Integer.toBinaryString(n); | 一个二进制字符串. |
10进制转8进制 | Integer.toOctalString(n); | 一个八进制字符串 |
10进制转16进制 | Integer.toHexString(n); | 一个16进制字符串 |
10进制转 r 进制 | Integer.toString(100, 16); | 一个r进制字符串 |
public class Main {
public static void main(String[] args) {
int n = 18;
Integer.toHexString(n);
System.out.println(n + "的二进制是:" + Integer.toBinaryString(n));
System.out.println(n + "的八进制是:" + Integer.toOctalString(n));
System.out.println(n + "的十六进制是:" + Integer.toHexString(n));
System.out.println(n + "的三进制是:" + Integer.toString(n, 3));
}
}
结果是:
18的二进制是:10010
18的八进制是:22
18的十六进制是:12
18的三进制是:200
可以通过这个水题去练习一下10进制转2进制哦.
下面是r进制转10进制
r进制转10进制 | 方法 |
radix进制的字符串s转10进制 | Integer.parseInt((String) s,(int) radix); |
public class Main {
public static void main(String[] args) {
String s = "10101";//1+4+16==21
System.out.println(Integer.parseInt(s,2));//结果是21
}
}
真的不考虑看一下水题吗??
水题:进制转化