栈的应用---十进制转化二进制

代码实现

let Stack = require('./01栈的封装.js')
//简单应用:
//封装函数:将十进制转成二进制(十转二的运算最后倒叙取余的特点符合栈'先进后出')
let dec2bin=(decNumber)=>{
    //1.定义一个栈对象,保存余数
    var stack=new Stack()
      // 2.循环操作
      while(decNumber>0){
        // 2.1获取余数并放入栈中
        stack.push(decNumber%2)
         // 2.2.获取整除后的结果作为下一次运算的数字(floor:向下取整)
         decNumber=Math.floor(decNumber/2)
      }
       // 3.从栈中取出0和1
       let  binaryString = '';
       while(!stack.isEmpty()){
        // 栈的长度不为空
        binaryString+=stack.pop()
       }
       return binaryString
}
module.exports = dec2bin;

测试

let dec2bin =require('./03十进制化二进制')
// dec2bin 测试
console.log(dec2bin(3));
console.log(dec2bin(4))
console.log(dec2bin(10));
console.log(dec2bin(16));
console.log(dec2bin(100));
console.log(dec2bin(1000));

结果

posted @ 2022-06-27 22:01  NaziriteGTC  阅读(214)  评论(0)    收藏  举报