#include <stdio.h>
#include <stdint.h>
typedef union {
float f;
uint8_t bytes[4];
} FloatPacket;
int main() {
float input;
scanf("%f", &input);
FloatPacket packet;
packet.f = input;
for (int i = 0; i < 4; i++) {
printf("Byte %d: %u", i, packet.bytes[i]);
if(i < 3){
printf("\n");
}
}
return 0;
}
Explanation
This simulates sending a float value over a byte-wise interface like UART or SPI, where you send each byte one at a time.
Why it’s important in firmware?
Solution Logic
Input
1
Expected Output
Byte 0: 0 Byte 1: 0 Byte 2: 128 Byte 3: 63