#include <stdio.h> #include <stdint.h> typedef union{ uint32_t val ; uint8_t bytes[4]; }U_V; uint32_t convert_endian(uint32_t value) { // Write logic to swap bytes U_V s; s.val = value; uint8_t ram = 0; ram = s.bytes[3]; s.bytes[3] = s.bytes[0]; s.bytes[0] = ram; ram = s.bytes[1]; s.bytes[1] = s.bytes[2]; s.bytes[2] = ram; return s.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