#include <stdio.h> #include <stdint.h> uint32_t convert_endian(uint32_t value) { // Mask (0xFF) ensures only the target byte is shifted, avoiding overflow return ((value >> 24) & 0x000000FF) | // Byte 3 -> Byte 0 in output ((value >> 8) & 0x0000FF00) | // Byte 2 -> Byte 1 ((value << 8) & 0x00FF0000) | // Byte 1 -> Byte 2 ((value << 24) & 0xFF000000); // Byte 0 -> Byte 3 } int main() { uint32_t val; scanf("%u", &val); printf("%u", convert_endian(val)); return 0; }
Test Cases
Test Results
Input
305419896
Expected Output
2018915346