日期:2014-05-18  浏览次数:21569 次

C#十六进制数转浮点型负数
比如十六进制数0x20000000表示-10.2212。但是用以下代码却不能将0x20000000转为-10.2212,结果大概是1.08E-41。不知道为什么会得到这样的结果。求正确的转化方法,谢谢!
  string hexString = "20000000";
  int num = int.Parse(hexString, System.Globalization.NumberStyles.AllowHexSpecifier);
  byte[] floatVals = BitConverter.GetBytes(num);
  float f = BitConverter.ToSingle(floatVals, 0);

------解决方案--------------------
哪来的-10.2212是0x20000000?