入门知识:
假设有这样的代码:
float f = -120.5f;
byte[] b = BitConverter.GetBytes(f);
foreach (var b1in b)
{
for (int k = 0; k < 8; k++)
{
Console.Write(GetBit(b1,k));
}
}
Console.WriteLine("\n120.5f:");
float ff = 120.5f;
byte[] bb = BitConverter.GetBytes(ff);
foreach (var b1in bb)
{
for (int k = 0; k < 8; k++)
{
Console.Write(GetBit(b1, k));
}
}
Console.WriteLine("\n"+BitConverter.ToSingle(bb,0));
其输出是:
从这里可以看出:使用BitConverter.GetBytes得到的长度为4的Byte[] bytes中,bytes[0]是float在计算机中存储的最低字节,且其中bytes[0]的最低位就是float在计算机中存储的最低位,且要从Byte[]获得float也应该按照上述顺序排列的Byte[]。