c# - 在 .NET Micro Framework 中将 'float' 转换为 'byte[4]' 并返回 'float'

标签 c# embedded .net-micro-framework

float 转换为 byte[4] 然后再转换回“float”的最佳方法是什么?

我在 C# 中执行此操作 .NET Micro Framework ,因此没有可供我使用的 BitConverter

最佳答案

uintfloat(和反向)的转换也可以用“安全”代码完成(虽然我不知道这在NETMF 与否)。

[StructLayout(LayoutKind.Explicit)]
struct UIntFloat
{       
    [FieldOffset(0)]
    public float FloatValue;

    [FieldOffset(0)]
    public uint IntValue;        
}

public static float ToSingle(byte[] value, int index)        
{           
    uint i = ToUInt32(value, index);            
    return ToSingle(i);
}

public static float ToSingle(uint value)
{
    UIntFloat uf = new UIntFloat();
    uf.IntValue = value;
    return uf.FloatValue;
}

关于c# - 在 .NET Micro Framework 中将 'float' 转换为 'byte[4]' 并返回 'float',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742910/

相关文章:

c# - WCF 服务方法中单例模式的问题

c# - 从同一解决方案中的不同测试项目引用项目中的 C# 命名空间

c# - .NET Micro Framework 的扩展方法

c# - 如何重命名子类中继承的 API 成员?

gcc - 使用gnueabihf为ARMv6构建

c - 如何在嵌入式 C 中将 MCU-GPIO 引脚状态(值)存储到 10 个数字的数组中?

embedded - 如何调试 freeRTOS 应用程序?

c# - : List<T>. Add() 或 System.Array.Resize() 哪个更有效?

c - 使用 NETMF 的 SPI 主机到 PIC18F4550 从机同步 (C18)

c# - 找不到路径的一部分 C#