C# 16进制带符号的浮点数怎么转换为10进制

蜗牛慢慢爬爬爬 2016-05-20 03:46:14
下位机发来的4个字节的16进制浮点数 怎么用c#转换成10进制的显示
...全文
1074 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
caojinrong 2016-05-21
  • 打赏
  • 举报
回复
引用
BitConverter.ToSingle(bytes.Reverse().ToArray() , 0)
正解

songbing774933 2016-05-20
  • 打赏
  • 举报
回复
引用 3 楼 u014356761 的回复:
[quote=引用 2 楼 Libby1984 的回复:]
float f = BitConverter.ToSingle(bytes, 0);

例如 “42 08 7e 5d”应该是34.1234,但是用这个方法算出来的是1.14405958E+18[/quote]

字节序问题导致的
using System.Linq;

BitConverter.ToSingle(bytes.Reverse().ToArray() , 0)
  • 打赏
  • 举报
回复
引用 2 楼 Libby1984 的回复:
float f = BitConverter.ToSingle(bytes, 0);
例如 “42 08 7e 5d”应该是34.1234,但是用这个方法算出来的是1.14405958E+18
  • 打赏
  • 举报
回复
float f = BitConverter.ToSingle(bytes, 0);
songbing774933 2016-05-20
  • 打赏
  • 举报
回复
4个字节的16进制浮点数是如何存储的?不是按照浮点数存储的?

如果是,那么直接用float接收就好了啊,根本就不需要转换。

不管是16进制还是10进制,只要储存方法一致,字节应该是一样的啊

111,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧