/**
* 十进制数字到任意进制的转换
*
* @author youngao
*/
public class HexadecimalConversion {
static Stack<Integer> s = new Stack<>();
static Map<Integer, String> map = new HashMap<>();
public static void main(String[] args) {
map.put(10, "a");
map.put(11, "b");
map.put(12, "c");
map.put(13, "d");
map.put(14, "e");
map.put(15, "f");
map.put(16, "g");
clculation(1348, 18);
StringBuilder stringBuilder = new StringBuilder();
for (int i = s.size() - 1; i >= 0; i--) {
Integer integer = s.get(i);
if (map.containsKey(integer)) {
stringBuilder.append(map.get(integer));
} else {
stringBuilder.append(integer);
}
}
System.err.println(stringBuilder.toString());
}
/**
*
* @param num
* 需要转换的十进制数
* @param hex
* 需要被转换的进制
* @author youngao
*/
public static void clculation(int num, int hex) {
if(num <= 0 || hex <= 0) {
throw new IllegalArgumentException("参数非法");
}
int next = num / hex;
s.push(num % hex);
if (next == 0) {
return;
}
clculation(next, hex);
}
}
Java实现进制转换
最新推荐文章于 2025-06-01 14:08:51 发布