数制转换

   进制的转换可以借助强大的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();
    }

}

 

posted @ 2016-08-03 20:25  华不摇曳  阅读(248)  评论(0编辑  收藏  举报