//创建一个栈
function Stack(){
// 这个栈用数组
let items=[];
// 添加一个元素到栈顶
this.push=item=>items.push(item);
//移除栈顶元素
this.pop=()=>items.pop();
// 返回栈顶元素
this.peek=()=>items[items.length-1];
// 如果栈里没有元素返回true,否则返回false
this.isEmpty=()=>items.length===0
// 清除所有栈里的元素
this.clear=()=>items=[]
// 返回栈的长度
this.size=()=>items.length
}
//默认二进制
function dev2(dev10,base=2){
// 生成栈
let r=new Stack()
let rem
let s=''
let digits = '0123456789ABCDEF';
while(dev10>0){
// 除余得到结果
rem=Math.floor(dev10%base)
// 添加到栈顶
r.push(rem)
// 除base
dev10=Math.floor(dev10/base)
}
//从栈顶拿出
while(!r.isEmpty()){
s+=digits[r.pop()]
}
console.log(s);
return s
}