using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Explicit, Size=4)]
public struct UnionFloatBytes
public static implicit operator UnionFloatBytes(float val)
return new UnionFloatBytes { FloatValue = val };
public static void Main()
UnionFloatBytes ubs = 0.1f;
Console.WriteLine(ubs.FloatValue);
byte[] floatBytes = BitConverter.GetBytes(ubs.FloatValue);
Console.WriteLine(floatBytes[3]+" "+floatBytes[2]+" "+floatBytes[1]+" "+floatBytes[0]);
Console.WriteLine(ubs.Byte3+" "+ubs.Byte2+" "+ubs.Byte1+" "+ubs.Byte0);