#include <stdio.h> #include <stdint.h> typedef union { uint32_t value; uint8_t value_1[4]; }byte_expand; uint32_t convert_endian(uint32_t value) { byte_expand var1 = {0}; var1.value = value; uint8_t n = 4; for(uint8_t i = 0; i<n/2 ; i++) { uint8_t temp = var1.value_1[i]; var1.value_1[i] = var1.value_1[n-i-1]; var1.value_1[n-i-1] = temp; } return var1.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