首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >十六进制到浮点数的转换

十六进制到浮点数的转换
EN

Stack Overflow用户
提问于 2011-10-26 21:15:48
回答 5查看 22.1K关注 0票数 6

我有一个4字节的十六进制数字:

代码语言:javascript
运行
复制
08fdc941

它应该被转换成一个浮点数: 25.25,但我不知道怎么做?我使用C#

从十六进制转换为浮点数的正确方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-10-26 21:21:39

如下所示:

代码语言:javascript
运行
复制
        byte[] bytes = BitConverter.GetBytes(0x08fdc941);
        if (BitConverter.IsLittleEndian)
        {
            bytes = bytes.Reverse().ToArray();
        }
        float myFloat = BitConverter.ToSingle(bytes, 0);
票数 5
EN

Stack Overflow用户

发布于 2011-10-26 21:29:27

来自MSDN的this页面“如何:在十六进制字符串和数值类型之间转换(C#编程指南)”。

代码语言:javascript
运行
复制
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     
票数 7
EN

Stack Overflow用户

发布于 2011-10-26 21:21:37

这会生成25.24855,我想这就是您要找的。

代码语言:javascript
运行
复制
var bytes = BitConverter.GetBytes(0x08fdc941);
Array.Reverse(bytes);
var result = BitConverter.ToSingle(bytes, 0);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7903116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档