با سلام
من یک برنامه کوچیک نوشتن جهت تبدیل []byte به float .یک تابع که خودم نوشتم و یک تابه که مال خود #C هستش.
مسئله اینجاست وقتی از اول آرایه تبدیل میکنم درسته هر دوتا ولی وقتی از وسط برمیدارم فقط تابع خودم کار میکنه.و تابع خود #C خطا میده.از اونجا که تابع خودم unsafe هستش نمیخام استفاده کنم.

static void Main(string[] args)        {


byte[] d = new byte[24];


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.ToSingle(r, 0);


float 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;
}