#include <stdio.h> #include <stdint.h> uint32_t convert_endian(uint32_t value) { // Write logic to swap bytes uint32_t result; result = (value & 0xFFFF)<<16 | ((value>>16) & 0xFFFF); // printf("%x\n",result); result = (result & 0xFF000000)>>8 | (result & 0x00FF0000)<<8 | (result & 0xFF00)>>8 | (result &0xFF)<<8; // printf("%x\n",result); return result; } int main() { uint32_t val; scanf("%u", &val); printf("%u", convert_endian(val)); return 0; }
Test Cases
Test Results
Input
305419896
Expected Output
2018915346