Подтвердить что ты не робот

Преобразовать int в hex с ведущими нулями

Как преобразовать int (4 байта) в hex ( "XX XX XX XX" ) без циклов?

например:

i=13 hex="00 00 00 0D"

i.ToString("X") возвращает "D", но мне нужно шестнадцатеричное значение 4 байта.

4b9b3361

Ответ 1

Вы можете указать минимальное количество цифр, добавив количество шестнадцатеричных цифр, которые вы хотите в строку формата X. Поскольку две шестнадцатеричные цифры соответствуют одному байту, ваш пример с 4 байтами требует 8 шестнадцатеричных цифр. т.е. использовать i.ToString("X8").

Если вам нужны строчные буквы, используйте X вместо X. Например, 13.ToString("x8") отображается на 0000000d.

Ответ 2

попробуйте следующее:

int innum = 123;
string Hex = innum .ToString("X");  // gives you hex
string Hex = innum .ToString("X8");  // gives you hex 8 digit