
灯塔何老师为您分享以下优质知识
在Javascript中,将数值转换为二进制主要有以下两种常用方法:
一、使用 `toString()` 方法
这是最简洁、最直接的方法,适用于正整数和负整数(负数以二进制补码形式表示)。
语法:`number.toString(2)`
示例:
```javascript
let decimal = 10;
let binaryString = decimal.toString(2);
console.log(binaryString); // 输出 "1010"
```
二、位操作法(手动实现)
通过取模和移位操作,逐步构建二进制字符串。
步骤:
1. 不断对数字取模2(获取最低位),将余数添加到结果字符串前;
2. 将数字右移1位,重复上述过程直到商为0;
3. 处理特殊情况:当输入为0时,直接返回"0"。
示例:
```javascript
function decimalToBinary(decimal) {
let binaryString = "";
while (decimal >
0) {
binaryString = (decimal % 2) + binaryString;
decimal = Math.floor(decimal / 2);
}
return binaryString || "0";
}
console.log(decimalToBinary(5)); // 输出 "101"
```
补充说明
负数处理:`toString(2)` 会自动返回二进制补码表示,无需额外处理。- 其他进制转换:`toString` 方法支持2-36进制转换,只需调整参数即可。以上方法均可满足日常需求,推荐优先使用 `toString(2)` 以简化代码。