话不多说,直接上代码
这是十六进制转八进制
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String m=input.next();
String t=new BigInteger(m,16).toString(8);//十六转八
System.out.println(t);
}
}
这是十六进制转十进制
import java.math.BigInteger;
import java.util.Scanner;
public class Test7 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String m=input.next();
String t=new BigInteger(m,16).toString(10);//十六转十
System.out.println(t);
}
}
这是十进制转十六进制
在这里有一个需要注意的点,因为16进制的10—15分别是用大写的A—F表示,所以我用了String类中的toUpperCase,目的只是为了规范一点,当然不加也可以。
import java.math.BigInteger;
import java.util.Scanner;
public class Test8 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String m=input.next();
String t=new BigInteger(m,10).toString(16);//十转十六
t=t.toUpperCase();
System.out.println(t);
}
}
不难发现代码的重点在于这句
String t=new BigInteger(m,n).toString(x);
几进制转几进制就用你将要转的进制将x替换掉,原来的进制将n替换掉