Поменять местами javascript - PullRequest
       7

Поменять местами javascript

0 голосов
/ 30 октября 2011

Я хотел бы знать, как поменять порядковый номер шестнадцатеричного значения с помощью JavaScript (например: 4075 -> 7540, 3827 -> 2738) Если так, то как? Спасибо.

РЕДАКТИРОВАТЬ: Спасибо @kay, что я хочу сделать, это обменять Endianness гекса.

1 Ответ

16 голосов
/ 30 октября 2011

Для замены порядкового номера числа v :

var v = 0x01234567;                 // input number
var s = v.toString(16);             // translate to hexadecimal notation
s = s.replace(/^(.(..)*)$/, "0$1"); // add a leading zero if needed
var a = s.match(/../g);             // split number in groups of two
a.reverse();                        // reverse the groups
var s2 = a.join("");                // join the groups back together
var v2 = parseInt(s2, 16);          // convert to a number

alert(s2); // "67452301"
alert(v2); // 1732584193

Живая копия

В одну длинную строку:

alert(parseInt((0x01234567).toString(16).replace(/^(.(..)*)$/, "0$1").match(/../g).reverse().join(""), 16))
...