Come convertire int (4 byte) in esadecimale ("XX XX XX XX
") senza cicli?Converti int in esadecimale con gli zeri iniziali
ad esempio:
i=13 hex="00 00 00 0D"
i.ToString("X")
rendimenti "D"
, ma ho bisogno di un valore esadecimale di 4 byte.
Come convertire int (4 byte) in esadecimale ("XX XX XX XX
") senza cicli?Converti int in esadecimale con gli zeri iniziali
ad esempio:
i=13 hex="00 00 00 0D"
i.ToString("X")
rendimenti "D"
, ma ho bisogno di un valore esadecimale di 4 byte.
È possibile specificare il numero minimo di cifre aggiungendo il numero di cifre esadecimali che si desidera alla stringa di formato X
. Poiché due cifre esadecimali corrispondono a un byte, l'esempio con 4 byte richiede 8 cifre esadecimali. utilizzare i.ToString("X8")
.
Se si desidera utilizzare lettere minuscole, utilizzare x
anziché X
. Ad esempio le mappe 13.ToString("x8")
su 0000000d
.
Oh ... Grazie! Non pensavo fosse così semplice ... – user2264990
provare questo:
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 Quelle risposte citare solo ' X', che l'OP già conosce. Questa domanda riguarda il fatto di avere cifre iniziali di "0". – CodesInChaos
Va bene chiudere questo come duplicato se ne trovi uno, ma la domanda che hai attualmente chiuso non è duplicata. Le risposte suggeriscono 'ToString (" X ")', che non produce gli zeri iniziali richiesti dall'OP. – CodesInChaos