2017-05-09 3 views
0

Was ist der beste Weg, um von Integer-Zahl A -> Binär 0xA zu erhalten.Javascript konvertieren Int "A" in "0xA" -Notation

Erläuterung zu Beispiel:

  • Ich habe [52, 49, 46] -> [00110100, 00110001, 00101110]
  • Ich brauche [0x52, 0x49, 0x46] -> [82 , 73, 70] -> [01010010, 01001001, 01000110]

Meine Lösung:

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

Gibt es andere Möglichkeiten, dies zu tun?

-Upgrade von Eric Dobbs:

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

* "... von Integer-Zahl A ..." * Was ist eine "ganze Zahl A"? * "... -> binary 0xA ..." * Was ist eine "binäre 0xA"? (0x ist ein Hex-Präfix). Verwechseln Sie * Repräsentation * mit * Wert *? –

+1

Sie können 16 als zweites Argument an parseInt übergeben: 'arr = arr.map (x => parseInt (x, 16));' –

+0

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

Antwort

0

Wenn Sie eine Nummer, können Sie toString(2) verwenden seine Darstellung zu erhalten (a String) in binär. Wenn Sie eine Reihe von Nullen vorgeben und dann .slice(-8) verwenden, wird es auf acht Ziffern aufgemotzt. So zum Beispiel:

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

+0

Rly das ist nicht ich brauche. Ich möchte '52' in '0x52' wie in Beispiel ParseInt ("0x" + 52) konvertieren; –