JavaScript的转换小端串号

问题描述 投票:0回答:1

我有一个小的代码,将一个数字转换为32位小端串。这代码如下。

var s = "";
var myNumber = 515
for(var i = 0; i < 32; i++){
    var mask = 1 << i;
    var bit = myNumber & mask;
    s += bit ? "1" : "0"
}

console.log(s);

这工作得很好,但我似乎无法弄清楚如何我下班回来,并串转换回它是一部开拓创新的数量。有人能解释如何做到这一点。

javascript binary endianness
1个回答
1
投票

这是基本相同的转换为字符串,但相反:

var num = 0;
for(let i = 0; i < s.length; i++) {
  if (s[i] !== '0') {
    num += 1 << i;
  }
}

或者,你可以将字符串转换为一个数组,扭转它,将其转换回一个字符串,并调用parseInt函数为2的基础:

var num = parseInt(s.split('').reverse().join(''), 2);
© www.soinside.com 2019 - 2024. All rights reserved.