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:
}