欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java实现任意进制转换

程序员文章站 2022-06-19 12:42:26
package test; / 进制转换 @author 25449 / public class BinaryTest { //设置字符数组 //可以添加任意不重复字符,提高能转换的进制的上限 static char chs[] = new char[36]; static { for(int i ......

package test;
/**
* 进制转换
* @author 25449

/
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));
        }
    }