#include <stdio.h> #include <stdint.h> uint32_t convert_endian(uint32_t value) { // Write logic to swap bytes uint32_t result=0; uint32_t *valPtr = &value, *resPtr = &result; *((uint8_t *)(resPtr)) = *((uint8_t *)(valPtr)+3); *((uint8_t *)(resPtr)+1) = *((uint8_t *)(valPtr)+2); *((uint8_t *)(resPtr)+2) = *((uint8_t *)(valPtr)+1); *((uint8_t *)(resPtr)+3) = *((uint8_t *)(valPtr)); 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