当前位置: 代码迷 >> Delphi >> 重金解决有关问题
  详细解决方案

重金解决有关问题

热度:557   发布时间:2013-02-25 00:00:00.0
重金解决问题!
有一组数据请您帮忙看看,如何才能将四组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#的方法,已经上机测试过了。
  相关解决方案