首页 > 解决方案 > Javascript字到二进制到位数组

问题描述

我有这个代码//小提琴:https ://jsfiddle.net/7buscnhw/

// Word to bits func
function dec2bin(dec) {
  return (dec >>> 0).toString(2);
}
// binary to bit array
function bin2array(bin) {
    let Bitarr = []
    for(let i = 0; i < bin.length; ++i)
  Bitarr[i] = (bin >> i) & 1;
  return Bitarr;
}


R24011 = dec2bin(10);

Bits = bin2array(R24011);

msg = {
    R24011: R24011,
    BitArray: Bits
}
console.log(msg)

它以二进制正确输出 1010 十,但是当我将它推到一个数组时,我得到 [0,1,0,0]

我敢肯定这会很愚蠢,但我不知道我做错了什么。

标签: javascript

解决方案


您可以直接使用扩展语法将二进制字符串转换为数组。

function dec2bin(dec) {
  return (dec >>> 0).toString(2);
}
function bin2array(bin) {
  return [...bin].map(Number);
}
R24011 = dec2bin(10);
console.log(R24011)
Bits = bin2array(R24011);
console.log(Bits)


推荐阅读