数据结构应用_十进制二进制转换

//栈, 一种运算受限的线性表,后进先出(LIFO) class Stack { constructor () { this.items = [] } // 进栈 enterStack (elem) { return this.items.push(elem) } // 出栈 outStack () { return this.items.pop() } // 查看栈顶元素,仅仅是查看元素,不进行任何操作 peek () { return this.items[this.items.length - 1] } // 栈是否为空 isEmpty () { return this.items.length <= 0 } // 清空栈 clear () { this.items = [] return true } // 栈内元素个数 size () { return this.items.length } } //十进制转换 function decimalConvert (decNum, bin) { let stack = new Stack() let remainder = 0 let result = \'\' while (decNum > 0) { remainder = decNum % bin decNum = parseInt(decNum / bin) stack.enterStack(binary(remainder)) } while (!stack.isEmpty()) { result += stack.outStack() } return result } let converted = decimalConvert(999, 16) console.log(converted) function binary(num){ switch(num) { case 10: return \'A\'; case 11: return \'B\'; case 12: return \'C\' case 13: return \'D\'; case 14: return \'E\'; case 15: return \'F\'; default: return num; } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwszy.html