2017-05-09 64 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); –