2017-05-09 112 views
0

从整数A - >二进制0xA得到的最好方法是什么?Javascript将int“A”转换为“0xA”符号

说明上例如:

  • 我有[52,49,46] - > [00110100,00110001,00101110]
  • 我需要[0×52,×49,0×46] - > [82 ,73,70] - > [01010010,01001001,01000110]

我的解决办法:

var arr = [52, 49, 46] 
for(var i=0; i<arr.length; i++){ 
    arr[i] = parseInt("0x" + arr[i]); 
} 

有没有其他方法可以做到这一点?

升级由埃里克·多布斯:

arr = arr.map(x => parseInt(x, 16)); 
+1

* “......从整数一个......” *什么是 “整数A”? *“... - >二进制0xA ...”*什么是“二进制0xA”? (0x是一个十六进制前缀)。你把*代表*和*值*混淆了吗? –

+1

您可以将16作为第二个参数传递给parseInt:'arr = arr.map(x => parseInt(x,16));' –

+0

'(52).toString(2)' – epascarello

回答

0

当你有一个,您可以使用toString(2)二进制以获取其表示(字符串)。预先添加一堆零,然后使用.slice(-8)将填充到八位数。因此,例如:

[52, 49, 46, 0x52, 0x49, 0x46].forEach(function(num) { 
 
    console.log(("00000000" + num.toString(2)).slice(-8)); 
 
});

+0

这不是我需要的。我想在'0x52'中转换'52',就像例子parseInt(“0x”+ 52); –