Jak przekonwertować int (4 bajty) na hex ("XX XX XX XX
") bez cykli?Konwersja int na hex z zerami wiodącymi
na przykład:
i=13 hex="00 00 00 0D"
i.ToString("X")
powraca "D"
, ale muszę wartość hex 4 bajty.
Jak przekonwertować int (4 bajty) na hex ("XX XX XX XX
") bez cykli?Konwersja int na hex z zerami wiodącymi
na przykład:
i=13 hex="00 00 00 0D"
i.ToString("X")
powraca "D"
, ale muszę wartość hex 4 bajty.
Możesz określić minimalną liczbę cyfr, dodając liczbę cyfr szesnastkowych do ciągu formatu X
. Ponieważ dwie cyfry szesnastkowe odpowiadają jednemu bajtowi, twój przykład z 4 bajtami potrzebuje 8 cyfr szesnastkowych. tj. użyj i.ToString("X8")
.
Jeśli chcesz używać małych liter, użyj x
zamiast X
. Na przykład 13.ToString("x8")
mapy do 0000000d
.
Oh ... Dzięki! Nie sądziłem, że to takie proste ... – user2264990
spróbuj tego: tylko
int innum = 123;
string Hex = innum .ToString("X"); // gives you hex
string Hex = innum .ToString("X8"); // gives you hex 8 digit
http://stackoverflow.com/questions/1139957/c-sharp-convert-integer-to-hex-and-back-again – Joetjah
@Joetjah odpowiedzi te wspomnieć ' X', o czym OP już wie. To pytanie dotyczy posiadania wiodących cyfr "0". – CodesInChaos
Dobrze jest zamknąć to jako duplikat, jeśli go znalazłeś, ale pytanie, które obecnie zamknąłeś, nie jest duplikatem. Odpowiedzi tam polecam 'ToString (" X ")', które nie generuje zer wiodących, o które prosił OP. – CodesInChaos