继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java实现任意进制转换

holdtom
关注TA
已关注
手记 1885
粉丝 240
获赞 992


实现代码:

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的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP