手记

Java实现任意进制转换


实现代码:

public class BinaryTest {

    //设置字符数组

    //可以添加任意不重复字符,提高能转换的进制的上限

    static char chs[] = new char[36];

    static {

        for(int i = 0; i < 10 ; i++) {

            chs[i] = (char)('0' + i);

        }

        for(int i = 10; i < chs.length; i++) {

            chs[i] = (char)('A' + (i - 10));

        }

    }

    /**

     * 转换方法

     * @param num       元数据字符串

     * @param fromRadix 元数据的进制类型

     * @param toRadix   目标进制类型

     * @return

     */

    static String transRadix(String num, int fromRadix, int toRadix) {

        int number = Integer.valueOf(num, fromRadix);

        StringBuilder sb = new StringBuilder();

        while (number != 0) {

            sb.append(chs[number%toRadix]);

            number = number / toRadix;

        }

        return sb.reverse().toString();

    }

    //测试

    public static void main(String[] args) {

        System.out.println(transRadix("YGL", 36, 35));

    }

©著作权归作者所有:来自51CTO博客作者哦哦002的原创作品,如需转载,请注明出处,否则将追究法律责任


0人推荐
随时随地看视频
慕课网APP