#include <stdio.h> #include <stdint.h> typedef union { float f; uint8_t bytes[4]; } FloatPacket; int main() { float input; scanf("%f", &input); // Fill union and print 4 bytes FloatPacket fp; fp.f = input; for (int i = 0; i < 4; i++) { printf("Byte %u: %u\n", i, fp.bytes[i]); } return 0; }
If mcu don't have a fpu (hardware), compiler handles the float by software library.
It is too slow so it is better to handle each byte than float data.
Test Cases
Test Results
Input
1
Expected Output
Byte 0: 0 Byte 1: 0 Byte 2: 128 Byte 3: 63