Làm thế nào để chuyển đổi int (4 byte) thành hex ("XX XX XX XX
") không có chu kỳ?Chuyển đổi int thành hex với các số 0 hàng đầu
ví dụ:
i=13 hex="00 00 00 0D"
i.ToString("X")
lợi nhuận "D"
, nhưng tôi cần một giá trị hex 4-byte.
Làm thế nào để chuyển đổi int (4 byte) thành hex ("XX XX XX XX
") không có chu kỳ?Chuyển đổi int thành hex với các số 0 hàng đầu
ví dụ:
i=13 hex="00 00 00 0D"
i.ToString("X")
lợi nhuận "D"
, nhưng tôi cần một giá trị hex 4-byte.
Bạn có thể chỉ định số chữ số tối thiểu bằng cách nối thêm số chữ số thập phân bạn muốn vào chuỗi định dạng X
. Vì hai chữ số hex tương ứng với một byte, ví dụ của bạn với 4 byte cần 8 chữ số thập phân. tức là sử dụng i.ToString("X8")
.
Nếu bạn muốn chữ thường, hãy sử dụng x
thay vì X
. Ví dụ: 13.ToString("x8")
bản đồ đến 0000000d
.
Oh ... Cảm ơn! Tôi không nghĩ nó đơn giản ... – user2264990
thử điều này:
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 Những câu trả lời chỉ đề cập đến ' X', mà OP đã biết. Câu hỏi này là về việc có chữ số '0' đứng đầu. – CodesInChaos
Bạn có thể đóng tài khoản này dưới dạng trùng lặp nếu bạn tìm thấy một câu hỏi, nhưng câu hỏi bạn hiện đã đóng là không trùng lặp. Các câu trả lời ở đó đề nghị 'ToString (" X ")', không tạo ra các số 0 ở đầu mà OP yêu cầu. – CodesInChaos