進制轉換可以使用使用取餘法來實現
基本上是學習編程最常見的一個練習。
學習幾個基本的單詞
被除數: dividend
除數: divisor
商: quotient
餘數: remainder
function numberConversion(num, base) {
var stack = new Stack();
var base_str = "0123456789ABCDEF";
var quotient = Math.floor(num / base);
var remainder = num % base;
stack.push(remainder);
while (quotient != 0) {
remainder = quotient % base;
quotient = Math.floor(quotient / base);
stack.push(remainder);
}
/*出棧拼接數據*/
var num = stack.pop();
var result = "";
while(num != undefined) {
result += base_str[num];
num = stack.pop();
}
return result;
}
/*不使用棧的結構也可以使用數組逆轉來實現*/
function myNumberConversion (num, base) {
var base_str = "0123456789ABCDEF";
var quotient = Math.floor(num / base);
var remainder = num % base;
var result = [];
result.push(remainder);
while(quotient != 0) {
remainder = quotient % base;
quotient = Math.floor(quotient / base);
result.push(remainder);
}
return result.reverse().join("");
}