با سلام
حق با شما بود من تغییرش دادم به int32 ولی باز خطا میده.
  byte[] d = new byte[6];

d[0] = 0xF0;
d[1] = 0x49;
d[2] = 0x02;
d[3] = 0x00; //150000

d[4] = 0xE3;
d[5] = 0x07;//2019

byte[] r = new byte[2];


r[0] = d[4];
r[1] = d[5];


var f1 = BitConverter.ToInt32(r, 0);


int f2 = ToFloat(r, 0);

Console.WriteLine(f1);
Console.WriteLine(f2);
Console.ReadKey();


}


public static unsafe int ToFloat(byte[] data, int startIndex)
{
int result = 0;
fixed (byte* ptr = &data[startIndex])
{
result = *((int*)ptr);
}
return result;
}




Untitled.png