Javascript с порядковым номером

#javascript #hex #endianness

#javascript #шестнадцатеричный #порядковый номер

Вопрос:

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

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

Комментарии:

1. В вашем примере значение не меняется на обратное…

2. Конечно, это возможно, JavaScript имеет совершенно богатый String тип. В чем вопрос?

3. Ваши примеры не согласуются, пожалуйста, исправьте их. Также используется @ для уведомления, когда вы публикуете комментарий или редактируете, иначе те, кто прокомментировал, не получат никакого уведомления.

4. Вы хотите, чтобы 0xABCD стал 0xCDAB, то есть поменял его порядковый номер ?

5. Вы все еще не можете исправить свои примеры?

Ответ №1:

Чтобы поменять порядковый номер числа 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))