整数数制转换
/**
* 将十进制整数转换为二进制、八进制或者十六进制等
*
* @param origin 要被转换的十进制数
* @param numSys 目标数制,比如二进制就是2
* @return 返回值是转换完的数
*/
public String converse(int origin, int numSys){
/*
转换思路:利用栈,用origin对numSys取模,取模的结果压入栈内
下一次用origin整除numSys的结果做同样的操作
直到origin整除numSys的结果为零时停止操作
栈内的数按弹栈的方式,最先出的数是最高位,最低出的数是最低位
*/
Stack<String> result = new Stack<String>();
String rs = "";
while(origin > 0){
result.push(String.valueOf((origin % numSys)));
origin = origin / numSys;
}
while(!result.empty()){
rs = rs + result.pop();
}
return rs;
}