我需要编写一个接收一个int
(十进制)类型的参数的函数,并返回包含十六进制的int值的string
,但格式为0xyy 。
更重要的是,我希望答案是4字节的固定格式
例如:
int b = 358;
string ans = function(b);
在这种情况下,ans =“0x00 0x00 0x01 0x66”
int a = 3567846;
string ans = function(a);
在这种情况下,ans =“0x00 0x36 0x70 0xE6”
答案 0 :(得分:4)
这应与您的示例匹配:
static string Int32ToBigEndianHexByteString(Int32 i)
{
byte[] bytes = BitConverter.GetBytes(i);
string format = BitConverter.IsLittleEndian
? "0x{3:X2} 0x{2:X2} 0x{1:X2} 0x{0:X2}"
: "0x{0:X2} 0x{1:X2} 0x{2:X2} 0x{3:X2}";
return String.Format(format, bytes[0], bytes[1], bytes[2], bytes[3]);
}
答案 1 :(得分:1)
我认为你想要的格式是类似的
int ahex = 3567846;
byte[] inthex = BitConverter.GetBytes(ahex);
Console.WriteLine("0x"+ BitConverter.ToString(inthex).Replace("-"," 0x"));