我有一个4字节的十六进制数字:
08fdc941
它应该被转换成一个浮点数: 25.25,但我不知道怎么做?我使用C#
从十六进制转换为浮点数的正确方法是什么?
发布于 2011-10-26 21:21:39
如下所示:
byte[] bytes = BitConverter.GetBytes(0x08fdc941);
if (BitConverter.IsLittleEndian)
{
bytes = bytes.Reverse().ToArray();
}
float myFloat = BitConverter.ToSingle(bytes, 0);
发布于 2011-10-26 21:29:27
来自MSDN的this页面“如何:在十六进制字符串和数值类型之间转换(C#编程指南)”。
string hexString = "43480170";
uint num = uint.Parse(hexString, System.Globalization.NumberStyles.AllowHexSpecifier);
byte[] floatVals = BitConverter.GetBytes(num);
float f = BitConverter.ToSingle(floatVals, 0);
Console.WriteLine("float convert = {0}", f);
// Output: 200.0056
发布于 2011-10-26 21:21:37
这会生成25.24855
,我想这就是您要找的。
var bytes = BitConverter.GetBytes(0x08fdc941);
Array.Reverse(bytes);
var result = BitConverter.ToSingle(bytes, 0);
https://stackoverflow.com/questions/7903116
复制相似问题