#include <stdio.h> #include <stdint.h> uint32_t convert_endian(uint32_t value) { // Write logic to swap bytes uint8_t arr[4] = {0}; uint8_t j = 0; for(int i = 0; i < 4;i++){ arr[i] = ((value & ((0xFF) << j)) >> j); j += 8; } value = 0x0; j = 0; for(int i = 3; i >= 0; i--){ value |= (arr[i] << j); j += 8; } return 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