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