将 float
转换为 byte[4]
然后再转换回“float”的最佳方法是什么?
我在 C# 中执行此操作 .NET Micro Framework ,因此没有可供我使用的 BitConverter
。
最佳答案
从 uint
到 float
(和反向)的转换也可以用“安全”代码完成(虽然我不知道这在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/