Transmit Float as Byte Stream Using Union

Code

#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 float_val;
    float_val.f=input;

    printf("Byte 0: %u\n",float_val.bytes[0]);
    printf("Byte 1: %u\n",float_val.bytes[1]);
    printf("Byte 2: %u\n",float_val.bytes[2]);
    printf("Byte 3: %u\n",float_val.bytes[3]);
    
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

1

Expected Output

Byte 0: 0 Byte 1: 0 Byte 2: 128 Byte 3: 63