我有一个小的代码,将一个数字转换为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);
这工作得很好,但我似乎无法弄清楚如何我下班回来,并串转换回它是一部开拓创新的数量。有人能解释如何做到这一点。
这是基本相同的转换为字符串,但相反:
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);