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
//     return 0;
// }



typedef union{
    float f;
    uint8_t bytes[4];
} FloatPacket;

int main(){
    float input;

    scanf("%f", &input);


    FloatPacket buffer;
    buffer.f=input;

    for(int i=0; i<4; i++){
        printf("Byte %d: %hhu\n", i, buffer.bytes[i]);
    }
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

1

Expected Output

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