#include <stdio.h> #include <stdint.h> uint32_t convert_endian(uint32_t value) { // printf("Input: %X \n", value); uint32_t mask = 0xFF; uint32_t output = 0; uint32_t byte = 0; for (int i = 0; i < 32; i = i + 8){ byte = (value >> i) & mask; byte = (byte << 24 - i); // printf("Byte %X \n", byte); output |= byte; } // Write logic to swap bytes // printf("Output: %X \n", output); // printf("Output normal: %d", output); return output; } int main() { uint32_t val; scanf("%u", &val); printf("%u", convert_endian(val)); return 0; }
Test Cases
Test Results
Input
305419896
Expected Output
2018915346