Converter
進制轉換器
by Chris_Walter
JavaScript
class Stack {
constructor(){
this.arr = [];
}
push(element){
this.arr.push(element);
}
pop(){
return this.arr.pop();
}
isEmpty(){
return this.arr.length === 0;
}
peek(){
return this.arr[this.arr.length - 1];
}
size(){
return this.arr.length;
}
}
function converter(decimalNumber, base) {
let digits = '0123456789ABCDEF';
let remStack = new Stack();
let str = '';
while(decimalNumber > 0){
remStack.push(Math.floor(decimalNumber % base));//把餘數push到Stack裡的arr陣列,最後this.arr = [0,1,0,1]
decimalNumber = Math.floor(decimalNumber / base);
}
while(!remStack.isEmpty()){
str += digits[remStack.pop()];//使用pop()取堆疊頂部的值並累加字串
}
return str;
}
console.log(converter(10,2));