Convertir Float a Hexadecimal

La forma que yo usaba antes era hacer una uníon de un float con 4 bytes

union fconv_t{
  float f;
  byte c[4];
};

void Float2Hex(float data){
  union fconv_t floatConvert;
  
  floatConvert.f = data;
  
  for(byte i = 0; i < 4; i++){
    Serial.print(floatConvert.c[i], HEX);
  }
}