js 二进制数组变成十进制
时间: 2023-07-07 09:44:06 浏览: 62
可以通过 JavaScript 中的 `parseInt` 函数将二进制数组转换为十进制数。例如,假设有一个名为 `binaryArray` 的二进制数组,可以使用以下代码将其转换为十进制数:
```
const binaryArray = [1, 0, 1, 1]; // 二进制数组
const binaryString = binaryArray.join(''); // 将二进制数组转换为字符串
const decimalNumber = parseInt(binaryString, 2); // 将二进制字符串转换为十进制数
console.log(decimalNumber); // 输出 11
```
在上面的代码中,`join` 函数用于将二进制数组转换为二进制字符串,`parseInt` 函数的第二个参数为 2,表示将字符串解析为二进制数。最终输出的 `decimalNumber` 变量就是将二进制数组转换为的十进制数。
相关问题
js 二进制数组 从左到右 变成十进制
如果二进制数组表示的是一个二进制数的话,从左到右的顺序是高位到低位。可以使用以下代码将从左到右的二进制数组转换为十进制数:
```
const binaryArray = [1, 0, 1, 1]; // 从左到右的二进制数组
let decimalNumber = 0;
for (let i = 0; i < binaryArray.length; i++) {
const power = binaryArray.length - 1 - i; // 计算当前位的权值
decimalNumber += binaryArray[i] * Math.pow(2, power); // 按权值计算十进制数
}
console.log(decimalNumber); // 输出 11
```
在上面的代码中,使用了一个 `for` 循环遍历二进制数组的每一位,根据位权值计算该位对应的十进制数,最终将所有位的十进制数相加得到最终的十进制数。
js 中 十进制 从左到右补0 转化为二进制数组 长度为8
可以使用以下代码将一个十进制数转换为长度为8的二进制数组:
```javascript
function decimalToBinaryArray(decimal) {
const binary = decimal.toString(2).padStart(8, '0');
return Array.from(binary, bit => parseInt(bit));
}
const decimal = 42;
const binaryArray = decimalToBinaryArray(decimal);
console.log(binaryArray); // [0, 1, 0, 1, 0, 1, 0, 0]
```
首先,使用 `toString(2)` 将十进制数转换为二进制字符串。然后,使用 `padStart(8, '0')` 在字符串前面添加零,直到字符串达到长度为8。接着,使用 `Array.from()` 将字符串转换为字符数组,再使用 `map()` 将每个字符转换为对应的数字。