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