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