将int转换为十六进制格式0xyy c#
我需要编写一个函数,它接收一个类型为将int转换为十六进制格式0xyy c#,c#,hex,C#,Hex,我需要编写一个函数,它接收一个类型为int(十进制)的参数,并返回string,该字符串包含十六进制的int值,,但格式为0xyy 除此之外,我希望答案是4字节的固定格式 例如: int b = 358; string ans = function(b); 在这种情况下,ans=“0x00 0x00 0x01 0x66” 在本例中,ans=“0x00 0x36 0x70 0xE6”我认为您想要的格式在类似的行中 int ahex = 3567846; byte[] inthex = BitC
int
(十进制)的参数,并返回string
,该字符串包含十六进制的int值,,但格式为0xyy除此之外,我希望答案是4字节的固定格式 例如:
int b = 358;
string ans = function(b);
在这种情况下,ans=“0x00 0x00 0x01 0x66”
在本例中,ans=“0x00 0x36 0x70 0xE6”我认为您想要的格式在类似的行中
int ahex = 3567846;
byte[] inthex = BitConverter.GetBytes(ahex);
Console.WriteLine("0x"+ BitConverter.ToString(inthex).Replace("-"," 0x"));
我认为你想要的格式是相似的
int ahex = 3567846;
byte[] inthex = BitConverter.GetBytes(ahex);
Console.WriteLine("0x"+ BitConverter.ToString(inthex).Replace("-"," 0x"));
这应该与您的示例相匹配:
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]);
}
这应该与您的示例相匹配:
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]);
}
整洁,不知道
ToString
方法。整洁,不知道ToString
方法。大端/小端的出色使用+1大端/小端的出色使用+1.