题目
利用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