#include <stdio.h> #include <stdint.h> typedef union { uint32_t val; uint8_t bytes[4]; } number_t; uint32_t convert_endian(uint32_t value) { // Write logic to swap bytes number_t number; number.val = value; uint8_t temp; //swap first byte and last byte temp = number.bytes[0]; number.bytes[0] = number.bytes[3]; number.bytes[3] = temp; temp = number.bytes[1]; number.bytes[1] = number.bytes[2]; number.bytes[2] = temp; return number.val; } int main() { uint32_t val; scanf("%u", &val); printf("%u", convert_endian(val)); return 0; }
Test Cases
Test Results
Input
305419896
Expected Output
2018915346