短整型转换为十六进制值



下面的代码产生了错误的结果。writeline十六进制字符串是9BFF,正确的值是FF9B。我做错了什么?

using System;

public class Program
{
public static void Main()
{
short s = -101;
short x = unchecked((Int16)0xff9B);
string hex = Convert.ToHexString(BitConverter.GetBytes(s));
Console.WriteLine(hex);
Console.WriteLine(x);
Console.WriteLine(Convert.ToInt16(hex,16));

}
}

结果:

9BFF
-101
-25601

您可以使用"X""x"(十六进制格式说明符)来指定ToString:

public static void Main()
{
short intValue = -101;
string hex = intValue.ToString("X");

Console.WriteLine(hex);
}

演示

最新更新