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

}

}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

更多推荐

任意进制转换java_Java实现任意进制转换