栈的应用---十进制转化二进制
代码实现
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));
结果