问题描述
下位机发来的4个字节的16进制浮点数怎么用c#转换成10进制的显示
解决方案
解决方案二:
4个字节的16进制浮点数是如何存储的?不是按照浮点数存储的?如果是,那么直接用float接收就好了啊,根本就不需要转换。不管是16进制还是10进制,只要储存方法一致,字节应该是一样的啊
解决方案三:
floatf=BitConverter.ToSingle(bytes,0);
解决方案四:
引用2楼Libby1984的回复:
floatf=BitConverter.ToSingle(bytes,0);
例如“42087e5d”应该是34.1234,但是用这个方法算出来的是1.14405958E+18
解决方案五:
引用3楼u014356761的回复:
Quote: 引用2楼Libby1984的回复:
floatf=BitConverter.ToSingle(bytes,0);例如“42087e5d”应该是34.1234,但是用这个方法算出来的是1.14405958E+18
字节序问题导致的usingSystem.Linq;BitConverter.ToSingle(bytes.Reverse().ToArray(),0)
解决方案六:
引用
BitConverter.ToSingle(bytes.Reverse().ToArray(),0)正解
时间: 2024-09-23 18:58:46