javascript - 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]
我敢肯定这会很愚蠢,但我不知道我做错了什么。
解决方案
您可以直接使用扩展语法将二进制字符串转换为数组。
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)
推荐阅读
- full-text-search - TREC比赛中的Pooling方法
- javascript - 如何将输入数据从 ReactJS 传递到 Flask-Python(后端)
- javascript - 无法编译 TypeScript - 没有重载匹配此调用
- python - concurrent.futures.ProcessPoolExecutor() 不适用于文件
- c++ - 目标“pybind11::embed”在其 INTERFACE_INCLUDE_DIRECTORIES 中包含相对路径:
- javascript - 将 node.js 中的缓冲图像转换为像素数据
- python - 转换为 base64 更改 numpy 数组
- tsql - 查询中的 TSQL 顺序/序列组
- reactjs - 如何更改反应信息横幅中的颜色和字体系列
- java - 仅针对生产环境将 localhost 删除为允许的 CORS 来源?