有一组数据请您帮忙看看,如何才能将四组16进制数字转化为下方书写的浮点数呢?
此问题解决后必有现金重谢!郭先生 13998432943
0xFF, 0xFF, 0xFD, 0xF4
255,255,253,244
-0.52
0xFF, 0xFF, 0xFF, 0xFF
-0.00
0xFF, 0xFF, 0xFF, 0xF0
-0.01
0xFF, 0xFF, 0xFF, 0xE0
-0.03
0x0F, 0xFF, 0xFF, 0xE0
268435.4
0x0F, 0xFE, 0xFF, 0xE0
268369.8
0xFF, 0xFF, 0x00, 0xE0
-65.31
------解决方案--------------------------------------------------------
public string getNum(string str)
{
uint x = Convert.ToUInt32(str.Trim().Replace(", 0x", ""), 16);
uint y = 0x80000000;
if ((x & y) == y)
{
//负数
return "-" + (~x / 1000).ToString() + "." + (~x % 1000).ToString().Substring(0, 1);
}
else
{
//正数
return (x / 1000).ToString() + "." + (x % 1000).ToString().Substring(0, 1);
}
}
------解决方案--------------------------------------------------------
已经结贴了呀 :<
不过希望这个对你有帮助,这是一个c#的方法,已经上机测试过了。