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