将四个byte数据转成一个float型数据? 高手请进
请问如何将保存在内存中的以byte类型存储的浮点数读出
我做了如下代码,数据读出了但是不能赋值
其中FloatValue:为计算出的浮点数据;GetByte是存储byte类型数据的数组; 是从第ByteNum 个byte 字节开始转成浮点型数据的。
public unsafe void ByteToFloat(ref float[] FloatValue,byte[] GetBytes,int ByteNum)
{
float *pFloat;
try
{
fixed (byte * pByte = GetBytes)
{
byte * pElem = pByte+ByteNum;
for(int i=0;i< GetBytes.Length;i=i+4 )
{
pFloat=(float*)pElem;
FloatValue[i]=*pFloat; //程序走到该步后在调试状态下 自动和计算机断开连接,将其直接在PDA上运行,程序自动结束。但是可以查看到*pFloat的值计算是正确地。
pElem=pElem+4;
}
}
}
}
但是我在进行float 转byte 时也用到了用指针给数据赋值的情况没有出现过异常。例如: float AA=*pByte;//pByte 是byte类型的指针。该运算正常。