PRJ - Write Float Union#

2024-05-29

/*
浮点数的 union 编码与解码

*/


typedef union {
  float floatingPoint;
  byte binary[4];
} binaryFloat;

void setup() {
  binaryFloat hi;
  hi.floatingPoint = 13.67;
  Serial.begin(9600);
  // Serial.write(hi.binary,4);
  // 为什么我不能打印出正确的值?

  Serial.println(hi.binary[0], HEX);
  Serial.println(hi.binary[1], HEX);
  Serial.println(hi.binary[2], HEX);
  Serial.println(hi.binary[3], HEX);


//  **************
// decoding

binaryFloat y;
y.binary[0] = 0x52;
y.binary[1] = 0xB8;
y.binary[2] = 0x5A;
y.binary[3] = 0x41;
Serial.println(y.floatingPoint);

}

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

}