
冯老师为您分享以下优质知识
在Javascript中,将十进制转换为二进制主要有以下两种方法:
一、使用内置方法 `toString(2)`
这是最简洁的方法,通过调用 `Number` 对象的 `toString` 方法并传入基数 `2`,直接将十进制数转换为二进制字符串。
```javascript
let num = 100;
console.log(num.toString(2)); // 输出: "1100100"
```
适用场景:快速转换且仅需二进制字符串时。
二、手动实现(栈/循环/递归)
利用栈的先进后出特性,将余数依次压入栈中,最后弹出并拼接成二进制字符串。
```javascript
function dec2bin(decnum) {
let arr = [];
while (decnum >
0) {
arr.push(decnum % 2);
decnum = Math.floor(decnum / 2);
}
return arr.reverse().join('');
}
console.log(dec2bin(100)); // 输出: "1100100"
```
循环实现
通过循环不断取余并更新被除数,最终将余数按顺序拼接。
```javascript
function numberToBinary(num) {
let result = [];
if (num === 0) return '0';
do {
result.push(num % 2 === 0 ? '0' : '1');
num = Math.floor(num / 2);
} while (num >
0);
return result.reverse().join('');
}
console.log(numberToBinary(100)); // 输出: "1100100"
```
递归实现
通过递归调用将问题分解为更小的子问题,最终拼接结果。
```javascript
function decimalToBinary(num) {
if (num === 0) return '0';
return decimalToBinary(Math.floor(num / 2)) + (num % 2).toString();
}
console.log(decimalToBinary(100)); // 输出: "1100100"
```
总结
推荐优先使用内置方法:
`toString(2)` 简洁高效,适用于大多数场景。
手动实现:适合学习算法逻辑或处理特殊需求(如进制转换扩展)。