进制的转换可以借助强大的BigInteger,非常的方便。
new java.math.BigInteger(num, from).toString(to);
表示num要转换的数从from源数的进制 转换成to的进制。
题目描述
求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。 不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F)。
输入描述:
输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b <= 16。 数据可能存在包含前导零的情况。
输出描述:
可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,...,9,A,B,...,F)。
输入例子:
15 Aab3 7
输出例子:
210306
import java.math.BigInteger; import java.util.Scanner; public class 数制转换 { public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNext()){ int n1=in.nextInt(); String num=in.next(); int n2=in.nextInt(); System.out.println((new BigInteger(num,n1).toString(n2)).toUpperCase()); } in.close(); } }
时间: 2024-10-16 02:32:30