十进制转二进制

题目

利用JS编写一个十进制转二进制的方法

代码

利用数据结构中“堆栈”的思想

function decimal2Binary(decimal) {
    /*
    *  栈: 后进先出Last-In-First-Out(LIFO)
    * */
    let resultStr = ''; // 存储转换的结果
    let remainderArr = []; // 存储余数
    let currentRemainder; // 当前余数值
    while (decimal > 0){
      currentRemainder = decimal % 2;
      decimal = Math.floor(decimal / 2);
      remainderArr.push(currentRemainder); // 存储余数 相当于往栈里写入数据
    }
    while (remainderArr.length !== 0){
      resultStr += remainderArr.pop(); // 弹出数组的最后一个元素, 相当于弹出栈里的第一个元素
    }
    return resultStr
  }
  console.log(decimal2Binary(14)); // 1110
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容