首页 > 其他 > 详细

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

时间:2020-02-18 11:45:11      阅读:73      评论:0      收藏:0      [点我收藏+]
//栈, 一种运算受限的线性表,后进先出(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.cnblogs.com/JunLan/p/12325425.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!