#include <stdio.h> #include <stdint.h> uint32_t convert_endian(uint32_t value) { uint8_t *tmp = (uint8_t *)&value; uint8_t c = tmp[0]; tmp[0] = tmp[3]; tmp[3] = c; c = tmp[2]; tmp[2] = tmp[1]; tmp[1] = c; return value; //return (value << 24 | value >> 24 | ((value & 0xFF00) << 4) | ((value & 0xFF0000) >> 4)); } int main() { uint32_t val; scanf("%u", &val); printf("%u", convert_endian(val)); return 0; }
Test Cases
Test Results
Input
305419896
Expected Output
2018915346