All submissions

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* floatPacket;
    floatPacket->f = input;

    for(int i = 0; i < 4; ++i)
    {
        printf("Byte %d: %d\n", i, floatPacket->bytes[i]);
    }
    return 0;
}

Solving Approach

  1. Store the input float into the union's float number
  2. Access the union's byte array member to get the 4 bytes
  3. Print each byte in order from index 0 to 3

 

 

Loading...

Input

1

Expected Output

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