HEX to IEEE Float

I need help, with a specific issue. I have 4 bytes (hex) that I need to convert into IEEE Floating Point number for example:

0x46 0x40 0xE6 0xAE

Are to be converted to 12345.67

The hex code will be extracted from a response by a PLC, the protocol is very similar to Modbus RTU.

Thank you in advance for your input.

A union?

Are you certain that the binary number represented by those four hex values corresponds to an IEEE format floating point number?

There are endian issues, but it can be done with memcpy

void setup() {
  //byte hexArray[] = {0x46,0x40,0xE6,0xAE};
  byte hexArray[] = {0xAE,0xE6,0x40,0x46};
  float value;
  memcpy(&value, hexArray, sizeof(hexArray));
void loop() {

Right ON! that does exactly what I'm looking for.... Thank You!