Convertir Float a Hexadecimal

Me gustaria saber como convertir una variable float en hexadecimal. Sé que un entero int se hace de la siguiente forma:

Serial.println(numeroEntero, HEX);

Pero para números con decimales y flotantes ni idea, ya que lo he probado y redondea hacia abajo

Un saludo y gracias de antemano

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

No estoy muy seguro de que eso funcione, Ricardo. Si por convertir se refiere a dividir en bytes, para luego recomponerlo como estaba, perfecto. Si a lo que se refiere es a representar un fraccionario en hexadecimal, hay que tener en cuenta la forma en que se almacenan los números en punto flotante (signo, exponente y mantisa). Pero dudo realmente que lo que quiera sea esto, así que antes de quebrarme la cabeza en algo inútil, me gustaría saber qué entiende antonioman por convertir un flotante a hexadecimal con una pregunta.
Digamos que tenemos el número decimal 5,25 ¿Qué salida se supone que debería dar el programa?

La de su representacón en float o sea sus 4 bytes