Coversioni tra binario e decimale frazionario

mi sa che llo strumento ti invia delle float e tu le interpreti come int...fai una prova con questo codice e vedrai:

union {
  float f;
  int b[2];
  byte c[4];
} myU;

void setup() {
Serial.begin(9600);
myU.f=49.98;
Serial.println(myU.b[0]);
Serial.println(myU.b[1]);
myU.f=230.1;
Serial.println(myU.b[0]);
Serial.print(myU.b[1]);
}

void loop() {
  // put your main code here, to run repeatedly:

}